Create Pre-Authorized Debit Transaction

📘

Please reach out to BlueSnap Merchant Support to enable this payment method.

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.


📘

Send a test request

Go to API Explorer to send a test request to our sandbox environment and receive a response in real time.

Request Content

Send an altTransaction object with the following:

PropertyTypeRequired
acssDirectDebitTransactionobjectrequired (see acssDirectDebitTransaction)
amountdecimalrequired
authorizedByShopperbooleanrequired, value must be true
currencystringrequired
merchantTransactionIdstringoptional
payerInfoobjectrequired if vaultedShopperId is not sent (see payerInfo)
pfTokenstringoptional
productDescriptionstringoptional
softDescriptorstringoptional
taxReferencestringoptional
transactionFraudInfoobjectoptional (see transactionFraudInfo)
transactionMetaDataobjectoptional (see transactionMetaData)
vaultedShopperIdintegerrequired if payerInfo is not sent
vendorsInfoobjectoptional (see vendorsInfo)

Response Details

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

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

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",
        "transactionRegion": "CA"
    }
}
{
  "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


API Explorer

BlueSnap provides a sandbox environment so you can test basic requests with this endpoint. You can view the request in the API Explorer console and its response directly below the console.

The console includes a sample request with predefined parameter values. To send a request with custom values, edit the parameter fields below. As you edit the fields, your custom values display in the request in the console.

Click the Try it! button below the request example when you are ready to send your request.

Language
Authorization
Header
Click Try It! to start a request and see the response here!