diff --git a/commerce_bank_transfer.module.orig b/commerce_bank_transfer.module
index fd319cc..2997cd3 100644
--- a/commerce_bank_transfer.module.orig
+++ b/commerce_bank_transfer.module
@@ -138,19 +138,35 @@ function commerce_bank_transfer_submit_form($payment_method, $pane_values, $chec
 }
 
 /**
- * Payment method callback: checkout form validation.
+ * Payment method callback: checkout form submission.
  */
-function commerce_bank_transfer_submit_form_validate($payment_method, $pane_form, $pane_values, $order, $form_parents = array()) {
-  // nothing to validate
+function commerce_bank_transfer_submit_form_submit($payment_method, $pane_form, $pane_values, $order, $charge) {
+
+  commerce_bank_transfer_transaction($payment_method, $order, $charge);
 }
 
 /**
- * Payment method callback: checkout form submission.
+ * Creates the payment transaction for the specified charge amount,
+ * but puts the status on pending for "offline" payment
+ *
+ * @param $payment_method
+ *   The payment method instance object used to charge this payment.
+ * @param $order
+ *   The order object the payment applies to.
+ * @param $charge
+ *   An array indicating the amount and currency code to charge.
  */
-function commerce_bank_transfer_submit_form_submit($payment_method, $pane_form, $pane_values, $order, $charge) {
-//  transfer will be completed manually on reception of transfer
+function commerce_bank_transfer_transaction($payment_method, $order, $charge) {
+  $transaction = commerce_payment_transaction_new('commerce_bank_transfer', $order->order_id);
+  $transaction->instance_id = $payment_method['instance_id'];
+  $transaction->amount = $charge['amount'];
+  $transaction->currency_code = $charge['currency_code'];
+  $transaction->status = COMMERCE_PAYMENT_STATUS_PENDING;
+
+  commerce_payment_transaction_save($transaction);
 }
 
+
 /**
  * Implementation of commerce_bank_transfer_bank_details($oid).
  *
