function commerce_cardonfile_testing_payment_transaction in Commerce Card on File 7.2
Creates a payment transaction with the specified transaction status.
2 calls to commerce_cardonfile_testing_payment_transaction()
- commerce_cardonfile_testing_payment_cardonfile_charge in tests/
commerce_cardonfile_testing/ commerce_cardonfile_testing.module - Card on File callback: charge credit card.
- commerce_cardonfile_testing_payment_submit_form_submit in tests/
commerce_cardonfile_testing/ commerce_cardonfile_testing.module - Payment method callback: submit form submission.
File
- tests/
commerce_cardonfile_testing/ commerce_cardonfile_testing.module, line 119 - Provides a test payment method implementing the Card on File API.
Code
function commerce_cardonfile_testing_payment_transaction($payment_method, $order, $charge) {
$transaction_status_overall = TRUE;
$transaction_status = variable_get('commerce_cardonfile_testing_next_transaction_status', COMMERCE_PAYMENT_STATUS_SUCCESS);
if (!in_array($transaction_status, array(
COMMERCE_PAYMENT_STATUS_SUCCESS,
COMMERCE_PAYMENT_STATUS_PENDING,
))) {
// Consider the transaction failed unless the selected status is "success"
// or "pending".
$transaction_status_overall = FALSE;
}
$transaction = commerce_payment_transaction_new('commerce_cardonfile_testing_payment', $order->order_id);
$transaction->instance_id = $payment_method['instance_id'];
$transaction->amount = $transaction_status_overall ? $charge['amount'] : 0;
$transaction->currency_code = $charge['currency_code'];
$transaction->status = $transaction_status;
$transaction->remote_id = rand(1000, 9999);
$transaction->message = 'Name: @name. Transaction status: !status.';
$transaction->message_variables = array(
'@name' => 'Commerce Card on File Test Payment',
'!status' => $transaction_status,
);
commerce_payment_transaction_save($transaction);
return $transaction_status;
}