Created by
Omar
|
/**
* Recreate paid in full.
*
* @Given the last order is paid in full
*/
public function lastOrderIsPaidInFull() {
$result = \Drupal::entityQuery("commerce_order")
->accessCheck(FALSE)
->sort('order_id', 'desc')
->range(0, 1)
->execute();
$order_id = reset($result);
$order = \Drupal::entityTypeManager()->getStorage('commerce_order')->load($order_id);
$payment_storage = \Drupal::entityTypeManager()->getStorage('commerce_payment');
$payment = $payment_storage->create([
'state' => 'authorization',
'amount' => $order->getTotalPrice(),
'payment_gateway' => 'redsys_001',
'order_id' => $order->id(),
'test' => TRUE,
'remote_id' => random_int('100000', '999999'),
'remote_state' => t('Test payment'),
'authorized' => \Drupal::time()->getRequestTime(),
]);
$payment->save();
return $order;
}
/**
* Complete a donation checkout with credit card payment method.
*
* @When I complete order
*/
public function completeOrder() {
$order = $this->lastOrderIsPaidInFull();
$order->state = 'completed';
$order->save();
// Set order as complete
}
/**
* Complete a payment attaching payment method to order.
*
* @When I complete order with payment method
*/
public function completeMembership() {
$order = $this->lastOrderIsPaidInFull();
$payment_method = \Drupal::entityTypeManager()->getStorage('commerce_payment_method')
->create([
'type' => 'credit_card',
'payment_gateway' => 'redsys',
'payment_gateway_mode' => 'test',
'remote_id' => random_int('100000', '999999'),
'reusable' => 1,
'expires' => REQUEST_TIME + 60 * 60 * 24 * 365,
'card_type' => 'XXX',
'card_number' => 'XX',
'card_exp_month' => 'XX',
'card_exp_year' => 'XX',
]);
$payment_method->save();
$order->set('payment_method', $payment_method->id());
$order->state = 'completed';
$order->save();
}
|