Create Pre-Authorized Debit Transaction

📘

This payment method is currently in Beta. Please reach out to BlueSnap Merchant Support to enable it.

The Create Pre-Authorized Debit Transaction request performs a transaction (purchase) using the Pre-Authorized Direct Debit payment method. Note that the shopper's account is not immediately debited - it takes about 3 business days for the shopper's bank to approve the charge and for their account to be debited. For more information about this payment method, see the Pre-Authorized Direct Debit guide.

👍

Prerequisite: Enable the Pre-Authorized Direct Debit payment method in your account

In the Merchant Portal, go to Checkout Page > Payment Methods and select Show in the menu next to the Pre-Authorized Direct Debit payment method. Click Submit to save your changes.

Try it in the API Explorer

Request Content

Send an altTransaction object with the following:

      merchantTransactionId     string    optional
     softDescriptor     string    optional
     amount     decimal    required
     currency     string    required
     taxReference     string    optional
     vendorsInfo object    optional (see vendorsInfo)
     payerInfo     object    required if vaultedShopperId is not sent (see payerInfo)
     vaultedShopperId     integer    required if payerInfo is not sent
     pfToken     string    optional
     acssDirectDebitTransaction     object    required (see acssDirectDebitTransaction)
     authorizedByShopper     boolean    required, value must be true
     transactionMetaData     object    optional (see transactionMetaData)
     transactionFraudInfo     object    optional (see transactionFraudInfo)

Response Details

If successful, the response HTTP status code is 200 OK.
The response contains the request properties plus these additions:

      transactionId
     vaultedShopperId
     processingInfo   (see processingInfo)
     fraudResultInfo   (see fraudResultInfo)


Examples

Request Examples

📘

Note

The agreementId in the examples below should be replaced with the agreementId you obtain through the Create Debit Agreement mandate API request.

curl -v -X POST https://sandbox.bluesnap.com/services/2/alt-transactions/ \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \ 
-H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \
-d '
{
    "acssDirectDebitTransaction": {
        "routingNumber": "001004820",
        "accountNumber": "9990000001",
        "accountType": "PERSONAL",
        "agreementId": 87
    },
    "amount": 11,
    "payerInfo": {
        "zip": "12345",
        "firstName": "John",
        "lastName": "Doe",
        "country": "CA"
    },
    "currency": "CAD",
    "authorizedByShopper": true
}
curl -v -X POST https://sandbox.bluesnap.com/services/2/alt-transactions/ \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \ 
-H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \
-d '
{
  "acssDirectDebitTransaction": {
    "routingNumber": "001004820",
    "publicAccountNumber": "7772",
    "agreementId": 87
  },
  "amount": 11,
  "vaultedShopperId": 19610966,
  "currency": "CAD",
  "authorizedByShopper": true
}
curl -v -X POST https://sandbox.bluesnap.com/services/2/alt-transactions/ \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \ 
-H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \
-d '
{
  "becsDirectDebitTransaction": {},
  "amount": 11,
  "currency": "AUD",
  "vaultedShopperId": 19610968,
  "authorizedByShopper": true
}
curl -v -X POST https://sandbox.bluesnap.com/services/2/alt-transactions/ \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \ 
-H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \
-d '
{
    "transactionOrderSource": "MOTO",
    "acssDirectDebitTransaction": {
        "routingNumber": "001004820",
        "accountNumber": "9990000001",
        "accountType": "PERSONAL",
        "agreementId": 87
    },
    "amount": 11,
    "payerInfo": {
        "zip": "12345",
        "firstName": "John",
        "lastName": "Doe",
        "country": "CA"
    },
    "currency": "CAD",
    "authorizedByShopper": true
}

Response Examples

{
    "transactionId": "38701842",
    "amount": 11,
    "currency": "CAD",
    "payerInfo": {
        "firstName": "John",
        "lastName": "Doe",
        "country": "ca",
        "zip": "12345"
    },
    "vaultedShopperId": 19610966,
    "acssDirectDebitTransaction": {
        "routingNumber": "001004820",
        "accountType": "PERSONAL",
        "publicAccountNumber": "9992",
        "agreementId": 87
    },
    "processingInfo": {
        "processingStatus": "PENDING"
    }
}
{
  "transactionId": "38702780",
  "amount": 11,
  "currency": "CAD",
  "vaultedShopperId": 19610966,
  "acssDirectDebitTransaction": {
    "routingNumber": "001004820",
    "accountType": "BUSINESS",
    "publicAccountNumber": "7772",
    "agreementId": 87
  },
  "processingInfo": {
    "processingStatus": "PENDING"
  }
}
{
  "transactionId": "38702772",
  "amount": 11,
  "currency": "AUD",
  "vaultedShopperId": 19610968,
  "acssDirectDebitTransaction": {
    "routingNumber": "001004820",
    "accountType": "BUSINESS",
    "publicAccountNumber": "7772",
    "agreementId": 87
  },
  "processingInfo": {
    "processingStatus": "PENDING"
  }
}
{
    "transactionId": "38701842",
    "amount": 11,
    "currency": "CAD",
    "payerInfo": {
        "firstName": "John",
        "lastName": "Doe",
        "country": "ca",
        "zip": "12345"
    },
    "vaultedShopperId": 19610966,
    "acssDirectDebitTransaction": {
        "routingNumber": "001004820",
        "accountType": "PERSONAL",
        "publicAccountNumber": "9992",
        "agreementId": 87
    },
    "processingInfo": {
        "processingStatus": "PENDING"
    }
}

Back to Top


Example Descriptions

Create Pre-Authorized Debit transaction with guest shopper

This example shows a basic create Pre-Authorized Direct Debit Transaction request, including the minimum required fields to process a Pre-Authorized Direct Debit transaction with basic information about the shopper.

For all Pre-Authorized Direct Debit transactions, you must obtain permission from the shopper to debit their account by having them authorize a mandate, known as a Pre-Authorized Debit Agreement.

Include the authorizedByShopper element with the value set to true to indicate that you have obtained the shopper's permission.

Create Pre-Authorized Debit transaction with Vaulted Shopper

To perform a Pre-Authorized Direct Debit Transaction with an existing vaulted shopper (with saved bank account details), you must include the vaultedShopperId property within the altTransaction resource in your request.

Above is an example of a Create Pre-Authorized Direct Debit Transaction request with an existing vaulted shopper. When you use a vaulted shopper, the acssDirectDebitTransaction property can be left empty, as shown in the example.

Create Pre-Authorized Direct Debit transaction with multiple vaulted Debit Accounts

This example shows a Create Pre-Authorized Direct Debit Transaction request when the customer has more than one debit account. When your vaulted shopper has multiple Pre-Authorized Direct Debit accounts use acssDirectDebitInfo to identify which debit account to use for the transaction.

Create Pre-Authorized Direct Debit transaction with MOTO

This example shows a Create Pre-Authorized Direct Debit transaction request with MOTO. MOTO is passed as an indication that the transaction was done on behalf of the shopper, like with a phone order.


Back to Top

API Explorer

To test out a call, enter the request content below and then click Try it!

Tip: Use the JSON code below as a starting point. You can enter different parameters to see how your test scenario would work. The request headers, including authorization, are already built in for you in this test area, so you should not include them here.

{
  "acssDirectDebitTransaction": {
    "routingNumber": "001004820",
    "accountNumber": "9990000001",
    "accountType": "PERSONAL",
    "agreementId": 87
  },
  "amount": 11,
  "payerInfo": {
    "zip": "12345",
    "firstName": "John",
    "lastName": "Doe",
    "country": "CA"
  },
  "currency": "CAD",
  "authorizedByShopper": true
}
Language
Authorization
:
Click Try It! to start a request and see the response here!