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
merchantTransactionIdstringoptional
softDescriptorstringoptional
amountdecimalrequired
currencystringrequired
productDescriptionstringoptional
taxReferencestringoptional
vendorsInfoobjectoptional (see vendorsInfo)
payerInfoobjectrequired if vaultedShopperId is not sent (see payerInfo)
vaultedShopperIdintegerrequired if payerInfo is not sent
pfTokenstringoptional
acssDirectDebitTransactionobjectrequired (see acssDirectDebitTransaction)
authorizedByShopperbooleanrequired, value must be true
transactionMetaDataobjectoptional (see transactionMetaData)
transactionFraudInfoobjectoptional (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",
        "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!