You are here

function commerce_square_payment_method_submit_form_submit in Commerce Square Connect 7

Square payment checkout pane submit callback.

File

./commerce_square.module, line 692
Module file for Commerce Square.

Code

function commerce_square_payment_method_submit_form_submit($payment_method, $pane_form, $pane_values, $order, $charge) {

  /** @var \SquareConnect\Model\ChargeResponse $result */
  $result = $order->square_result;
  $transaction = commerce_payment_transaction_new('commerce_square', $order->order_id);
  $transaction->instance_id = $payment_method['instance_id'];
  $transaction->amount = $charge['amount'];
  $transaction->currency_code = $charge['currency_code'];
  $transaction->status = $payment_method['settings']['type'] == COMMERCE_CREDIT_AUTH_ONLY ? COMMERCE_PAYMENT_STATUS_PENDING : COMMERCE_PAYMENT_STATUS_SUCCESS;
  $remote_transaction = $result
    ->getTransaction();
  $tender = $remote_transaction
    ->getTenders();
  $tender = $tender[0];
  $transaction->remote_id = $remote_transaction
    ->getId() . '|' . $tender
    ->getId();
  $transaction->message = $tender
    ->getNote();
  commerce_payment_transaction_save($transaction);
}