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.


πŸ“˜

Tip

You can test out a request that hits our sandbox in real-time. Follow the instructions here to use the "Try It!" feature on the right side.

Request Content

Send an altTransaction object with the following:

Property

Type

Required

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


API Explorer

To test out a basic API request, click the "Try It!" button in the right-hand column to test using the default, pre-populated sample values. To test with your own values, edit the parameter fields below. You'll see them populate in the right-hand column and you can click the "Try It!" button to submit your test request and see a response.

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