{"metadata":{"image":[],"title":"","description":""},"api":{"url":"/alt-transactions","auth":"optional","results":{"codes":[{"code":"","language":"text"}]},"settings":"57ee593a21ceb20e0061959e","examples":{"codes":[]},"method":"post","params":[]},"next":{"description":"","pages":[]},"title":"Create ECP Transaction","type":"endpoint","slug":"create-ecp-transaction","excerpt":"","body":"The Create ECP Transaction request performs a transaction (purchase) using the ACH/ECP payment method. For more information about this payment method, see [ACH/ECP](/docs/ach-ecp).\n[block:callout]\n{\n \"type\": \"success\",\n \"body\": \"In the BlueSnap Merchant Console, go to **Checkout Page > Payment Methods** and select **Show** in the menu next to the **ECP** payment method. Click **Submit** to save your change.\",\n \"title\": \"Prerequisite: Enable the ECP payment method in your account\"\n}\n[/block]\n<a class=\"btn btn-success\" href=\"#section-api-explorer\" role=\"button\">Try it in the API Explorer</a>\n\n###Request Content\nSend an **[altTransaction](doc:alt-transaction)** object with the following:\n\n `merchantTransactionId` *string* optional\n `softDescriptor` *string* optional\n `amount` *decimal* <span style=\"color:#F37500\">**required**</span>\n `currency` *string* <span style=\"color:#F37500\">**required**</span>\n `vendorsInfo` *object* optional (see [vendorsInfo](doc:vendorsinfo))\n `payerInfo` *object* <span style=\"color:#F38A00\">**required** if `vaultedShopperId` is not sent</span> (see [payerInfo](doc:payer-info))\n `vaultedShopperId` *integer* <span style=\"color:#F38A00\">**required** if `payerInfo` is not sent</span>\n `pfToken` *string* <span style=\"color:#F37500\">**required** if using [Secured Payment Collector](doc:secured-payment-collector)</span>\n `ecpTransaction` *object* <span style=\"color:#F37500\">**required** if `pfToken` is not sent</span> (see [ecpTransaction](doc:ecp-transaction))\n `authorizedByShopper` *boolean* <span style=\"color:#F38A00\">**required**, value must be **true**</span>\n `transactionMetaData` *object* optional (see [transactionMetaData](doc:transaction-meta-data))\n `transactionFraudInfo` *object* optional (see [transactionFraudInfo](doc:transaction-fraud-info))\n\n###Response Details\nIf successful, the response HTTP status code is 200 OK.\nThe response contains the request properties plus these additions:\n\n `transactionId`\n `vaultedShopperId`\n `processingInfo` (see [processingInfo](doc:processing-info))\n `fraudResultInfo` (see [fraudResultInfo](doc:fraud-result-info))\n `vendorsInfo` (see [vendorsInfo](doc:vendorsinfo))\n\n<hr>\n\n##Examples\n\n###Request Examples \n[block:code]\n{\n \"codes\": [\n {\n \"code\": \"curl -v -X POST https://sandbox.bluesnap.com/services/2/alt-transactions/ \\\\\\n-H 'Content-Type: application/json' \\\\\\n-H 'Accept: application/json' \\\\ \\n-H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \\\\\\n-d '\\n{\\n \\\"ecpTransaction\\\": {\\n \\\"routingNumber\\\": \\\"011075150\\\",\\n \\\"accountType\\\": \\\"CONSUMER_CHECKING\\\",\\n \\\"accountNumber\\\": \\\"4099999992\\\"\\n },\\n \\\"amount\\\": \\\"100\\\",\\n \\\"payerInfo\\\": {\\n \\\"zip\\\": \\\"12345\\\",\\n \\\"firstName\\\": \\\"John\\\",\\n \\\"lastName\\\": \\\"Doe\\\",\\n \\\"phone\\\": \\\"1234567890\\\"\\n },\\n \\\"softDescriptor\\\": \\\"ABC COMPANY\\\",\\n \\\"currency\\\": \\\"USD\\\",\\n \\\"authorizedByShopper\\\": true,\\n \\\"transactionFraudInfo\\\": {\\\"fraudSessionId\\\": \\\"1234\\\"}\\n}\",\n \"language\": \"curl\",\n \"name\": \"Create ECP Transaction Request: basic with payer info\"\n },\n {\n \"code\": \"curl -v -X POST https://sandbox.bluesnap.com/services/2/alt-transactions/ \\\\\\n-H 'Content-Type: application/json' \\\\\\n-H 'Accept: application/json' \\\\ \\n-H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \\\\\\n-d '\\n{\\n \\\"ecpTransaction\\\": {},\\n \\\"amount\\\": 100,\\n \\\"vaultedShopperId\\\": 19563598,\\n \\\"softDescriptor\\\": \\\"ABC COMPANY\\\",\\n \\\"currency\\\": \\\"USD\\\",\\n \\\"authorizedByShopper\\\": true\\n}\",\n \"language\": \"curl\",\n \"name\": \"with vaulted shopper\"\n },\n {\n \"code\": \"curl -v -X POST https://sandbox.bluesnap.com/services/2/alt-transactions/ \\\\\\n-H 'Content-Type: application/json' \\\\\\n-H 'Accept: application/json' \\\\ \\n-H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \\\\\\n-d '\\n{\\n \\\"ecpTransaction\\\": {\\n \\\"routingNumber\\\": \\\"011075150\\\",\\n \\\"accountType\\\": \\\"CONSUMER_CHECKING\\\",\\n \\\"accountNumber\\\": 4099999992\\n },\\n \\\"amount\\\": 100,\\n \\\"payerInfo\\\": {\\n \\\"zip\\\": 12345,\\n \\\"firstName\\\": \\\"John\\\",\\n \\\"lastName\\\": \\\"Doe\\\",\\n \\\"phone\\\": 1234567890\\n },\\n \\\"merchantTransactionId\\\": \\\"unique_001\\\",\\n \\\"currency\\\": \\\"USD\\\",\\n \\\"authorizedByShopper\\\": true\\n}\",\n \"language\": \"curl\",\n \"name\": \"with Merchant Transaction ID\"\n },\n {\n \"code\": \"curl -v -X POST https://sandbox.bluesnap.com/services/2/alt-transactions/ \\\\\\n-H 'Content-Type: application/json' \\\\\\n-H 'Accept: application/json' \\\\ \\n-H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \\\\\\n-d '\\n{\\n \\\"ecpTransaction\\\": {\\n \\\"routingNumber\\\": \\\"011075150\\\",\\n \\\"accountType\\\": \\\"CONSUMER_CHECKING\\\",\\n \\\"accountNumber\\\": 4099999992\\n },\\n \\\"amount\\\": 100,\\n \\\"vendorsInfo\\\": {\\n \\\"vendorInfo\\\": [\\n {\\\"vendorId\\\": \\\"10398030\\\"}\\n \\t]\\n },\\n \\\"payerInfo\\\": {\\n \\\"zip\\\": 12345,\\n \\\"firstName\\\": \\\"John\\\",\\n \\\"lastName\\\": \\\"Doe\\\",\\n \\\"phone\\\": 1234567890\\n },\\n \\\"softDescriptor\\\": \\\"ABC COMPANY\\\",\\n \\\"currency\\\": \\\"USD\\\",\\n \\\"authorizedByShopper\\\": true,\\n \\\"transactionFraudInfo\\\": {\\n \\\"fraudSessionId\\\": 1234\\n }\\n}\",\n \"language\": \"curl\",\n \"name\": \"with vendors info\"\n },\n {\n \"code\": \"curl -v -X POST https://sandbox.bluesnap.com/services/2/alt-transactions/ \\\\\\n-H 'Content-Type: application/json' \\\\\\n-H 'Accept: application/json' \\\\ \\n-H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \\\\\\n-d '\\n{\\n \\\"vaultedShopperId\\\": \\\"19570144\\\",\\n \\\"ecpTransaction\\\": {\\n \\\"accountType\\\": \\\"CONSUMER_CHECKING\\\",\\n \\\"publicAccountNumber\\\": \\\"99992\\\",\\n \\\"publicRoutingNumber\\\": \\\"75150\\\"\\n },\\n \\\"amount\\\": \\\"100\\\",\\n \\\"payerInfo\\\": {\\n \\\"zip\\\": \\\"12345\\\",\\n \\\"firstName\\\": \\\"John\\\",\\n \\\"lastName\\\": \\\"Doe\\\",\\n \\\"phone\\\": \\\"1234567890\\\"\\n },\\n \\n \\\"softDescriptor\\\": \\\"ABC COMPANY\\\",\\n \\\"currency\\\": \\\"USD\\\",\\n \\\"authorizedByShopper\\\": true,\\n \\\"transactionFraudInfo\\\": {\\\"fraudSessionId\\\": \\\"1234\\\"}\\n}\\n\",\n \"language\": \"curl\",\n \"name\": \"API v3.0 with multiple vaulted ACH\"\n },\n {\n \"code\": \"curl -v -X POST https://sandbox.bluesnap.com/services/2/alt-transactions/ \\\\\\n-H 'Content-Type: application/json' \\\\\\n-H 'Accept: application/json' \\\\ \\n-H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \\\\\\n-d '\\n{\\n \\\"pfToken\\\": \\\"eba795a8ec2a8e7754afe7a69b0a0869fba0e6daec01e2d81e1ccbb6771c24ab_\\\",\\n \\\"amount\\\": 100,\\n \\\"currency\\\": \\\"USD\\\",\\n \\\"payerInfo\\\": {\\n \\\"zip\\\": \\\"12345\\\",\\n \\\"firstName\\\": \\\"John\\\",\\n \\\"lastName\\\": \\\"Doe\\\",\\n \\\"phone\\\": \\\"1234567890\\\"\\n },\\n \\\"softDescriptor\\\": \\\"ABC COMPANY\\\",\\n \\\"authorizedByShopper\\\": true\\n}'\",\n \"language\": \"curl\",\n \"name\": \"with token\"\n }\n ]\n}\n[/block]\n###Response Examples\n[block:code]\n{\n \"codes\": [\n {\n \"code\": \"{\\n \\\"ecpTransaction\\\": {\\n \\\"routingNumber\\\": \\\"011075150\\\",\\n \\\"accountType\\\": \\\"CONSUMER_CHECKING\\\",\\n \\\"accountNumber\\\": 4099999992\\n },\\n \\\"amount\\\": 100,\\n \\\"payerInfo\\\": {\\n \\\"zip\\\": 12345,\\n \\\"firstName\\\": \\\"John\\\",\\n \\\"lastName\\\": \\\"Doe\\\",\\n \\\"phone\\\": 1234567890\\n },\\n \\t\\\"vaultedShopperId\\\": 21614935,\\n \\\"processingInfo\\\": {\\\"processingStatus\\\": \\\"PENDING\\\"},\\n \\\"softDescriptor\\\": \\\"ABC COMPANY\\\",\\n \\\"currency\\\": \\\"USD\\\",\\n \\\"transactionId\\\": 38504784,\\n \\\"fraudResultInfo\\\": {\\\"deviceDataCollector\\\": \\\"Y\\\"}\\n}\",\n \"language\": \"json\",\n \"name\": \"Create ECP Transaction Response: 200 OK - basic with payer info\"\n },\n {\n \"code\": \"{\\n \\\"ecpTransaction\\\": {},\\n \\\"amount\\\": 100,\\n \\\"vaultedShopperId\\\": 19563598,\\n \\\"processingInfo\\\": {\\\"processingStatus\\\": \\\"PENDING\\\"},\\n \\\"softDescriptor\\\": \\\"ABC COMPANY\\\",\\n \\\"currency\\\": \\\"USD\\\",\\n \\\"transactionId\\\": 38504786\\n}\",\n \"language\": \"json\",\n \"name\": \"with vaulted shopper\"\n },\n {\n \"code\": \"{\\n \\\"ecpTransaction\\\": {\\n \\\"routingNumber\\\": \\\"011075150\\\",\\n \\\"accountType\\\": \\\"CONSUMER_CHECKING\\\",\\n \\\"accountNumber\\\": 4099999992\\n },\\n \\\"amount\\\": 100,\\n \\\"payerInfo\\\": {\\n \\\"zip\\\": 12345,\\n \\\"firstName\\\": \\\"John\\\",\\n \\\"lastName\\\": \\\"Doe\\\",\\n \\\"phone\\\": 1234567890\\n },\\n \\t\\\"vaultedShopperId\\\": 21614935,\\n \\\"merchantTransactionId\\\": \\\"unique_001\\\",\\n \\\"processingInfo\\\": {\\\"processingStatus\\\": \\\"PENDING\\\"},\\n \\\"currency\\\": \\\"USD\\\",\\n \\\"transactionId\\\": 38504788\\n}\",\n \"language\": \"json\",\n \"name\": \"with Merchant Transaction ID\"\n },\n {\n \"code\": \"{\\n \\\"transactionId\\\": \\\"1015593717\\\",\\n \\\"vendorInfo\\\": {\\n \\\"vendorId\\\": 10398030,\\n \\\"commissionPercent\\\": 30\\n },\\n \\\"vendorsInfo\\\": {\\n \\\"vendorInfo\\\": [\\n {\\n \\\"vendorId\\\": 10398030,\\n \\\"commissionPercent\\\": 30\\n }\\n ]\\n },\\n \\\"softDescriptor\\\": \\\"ABC COMPANY\\\",\\n \\\"amount\\\": 100,\\n \\\"currency\\\": \\\"USD\\\",\\n \\\"payerInfo\\\": {\\n \\\"firstName\\\": \\\"John\\\",\\n \\\"lastName\\\": \\\"Doe\\\",\\n \\\"zip\\\": \\\"12345\\\",\\n \\\"phone\\\": \\\"1234567890\\\"\\n },\\n \\\"vaultedShopperId\\\": 22324287,\\n \\\"ecpTransaction\\\": {\\n \\\"accountNumber\\\": \\\"4099999992\\\",\\n \\\"routingNumber\\\": \\\"011075150\\\",\\n \\\"accountType\\\": \\\"CONSUMER_CHECKING\\\"\\n },\\n \\\"processingInfo\\\": {\\n \\\"processingStatus\\\": \\\"PENDING\\\"\\n }\\n}\",\n \"language\": \"json\",\n \"name\": \"with vendors info\"\n },\n {\n \"code\": \"{\\n \\\"transactionId\\\": \\\"38505332\\\",\\n \\\"softDescriptor\\\": \\\"ABC COMPANY\\\",\\n \\\"amount\\\": \\\"100\\\",\\n \\\"currency\\\": \\\"USD\\\",\\n \\\"payerInfo\\\": {\\n \\\"firstName\\\": \\\"John\\\",\\n \\\"lastName\\\": \\\"Doe\\\",\\n \\\"zip\\\": \\\"12345\\\",\\n \\\"phone\\\": \\\"1234567890\\\"\\n },\\n \\\"vaultedShopperId\\\": \\\"19570144\\\",\\n \\\"ecpTransaction\\\": {\\n \\\"accountType\\\": \\\"CONSUMER_CHECKING\\\",\\n \\\"publicAccountNumber\\\": \\\"99992\\\",\\n \\\"publicRoutingNumber\\\": \\\"75150\\\"\\n },\\n \\\"processingInfo\\\": {\\n \\\"processingStatus\\\": \\\"PENDING\\\"\\n }\\n}\\n\",\n \"language\": \"json\",\n \"name\": \"API v3.0 with multiple vaulted ACH\"\n }\n ]\n}\n[/block]\n<a class=\"btn btn-primary\" href=\"#\" role=\"button\">Back to Top</a>\n\n<hr>\n\n##Example Descriptions\n\n###Create basic ECP transaction with payer info\nThis example shows a basic create ECP Transaction request, including the minimum required fields to process an ACH/ECP transaction with basic information about the shopper.\n\nFor all ACH transactions, you must obtain permission from the shopper to debit their account, for example by showing a checkbox with the following wording on your checkout page. *\"I authorize this Electronic Check (ACH) transaction and agree to this debit of my account.\"*\n\nInclude the `authorizedByShopper` element with the value set to **true** to indicate that you have obtained the shopper's permission.\n\n###Create ECP transaction with vaulted shopper\nTo perform a Create ECP Transaction with an existing vaulted shopper (with saved ECP account details), you must include the `vaultedShopperId` property within the **[altTransaction](doc:alt-transaction)** resource in your request. \n\nAbove is an example of a Create ECP Transaction request with an existing vaulted shopper with the ID 19563598. When you use a vaulted shopper, the `ecpTransaction` property can be left empty, as shown in the example.\n\n###Create ECP transaction with Merchant Transaction ID\nYou may wish to assign your own ID to each transaction, for example in order to track the transactions in your own internal systems. To do this, you must include the `merchantTransactionId` property within the **[altTransaction](doc:alt-transaction)** resource in your request.\n\n###Create ECP transaction with Vendors Info\nThis example shows a Create ECP transaction request within a marketplace. Include `vendorsInfo` in the request to process a transaction involving one or more vendors. For more details, see [Processing Transactions](/docs/processing-transactions).\n\n###Create ECP transaction with multiple vaulted ACH \nThis example shows a Create ECP transaction request when the customer has more than one ACH account. When your vaulted shopper has multiple ACH accounts use `ecpTransaction` to identify which ACH account to use for the transaction.\n\n###Create ECP transaction with a token\nThis example shows a Create ECP transaction request with tokenized bank details. When you use BlueSnap's [Secured Payment Collector](doc:secured-payment-collector), you can securely capture and tokenize the shopper's sensitive banking details. After the shopper's banking details have been submitted to BlueSnap and associated with the token, you can process the transaction by including the token within the `pfToken` property. \n\n<br>\n<a class=\"btn btn-primary\" href=\"#\" role=\"button\">Back to Top</a>\n\n<hr>\n\n##API Explorer\nTo test out a call, enter the request content below and then click **Try it!**\n\n**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.*\n[block:code]\n{\n \"codes\": [\n {\n \"code\": \"{\\n \\\"ecpTransaction\\\": {\\n \\\"routingNumber\\\": \\\"011075150\\\",\\n \\\"accountType\\\": \\\"CONSUMER_CHECKING\\\",\\n \\\"accountNumber\\\": 4099999992\\n },\\n \\\"amount\\\": 100,\\n \\\"payerInfo\\\": {\\n \\\"zip\\\": 12345,\\n \\\"firstName\\\": \\\"John\\\",\\n \\\"lastName\\\": \\\"Doe\\\",\\n \\\"phone\\\": 1234567890\\n },\\n \\\"softDescriptor\\\": \\\"ABC COMPANY\\\",\\n \\\"currency\\\": \\\"USD\\\",\\n \\\"authorizedByShopper\\\": true\\n}\",\n \"language\": \"json\"\n }\n ]\n}\n[/block]","updates":[],"order":0,"isReference":true,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"_id":"5ff39c12e2e8fa00503ad59c","category":{"sync":{"isSync":false,"url":""},"pages":[],"title":"ACH/ECP Transactions","slug":"ecp-transaction-service","order":3,"from_sync":false,"reference":true,"_id":"5ff39c12e2e8fa00503ad530","version":"5ff39c12e2e8fa00503ad5e4","project":"57336fd5a6a9c40e00e13a0b","createdAt":"2016-01-13T18:38:47.347Z","__v":0},"parentDoc":null,"project":"57336fd5a6a9c40e00e13a0b","user":"560d5913af97231900938124","version":{"version":"8976-JSON","version_clean":"8976.0.0-JSON","codename":"3.36.1 Release","is_stable":false,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["5ff39c12e2e8fa00503ad52d","5ff39c12e2e8fa00503ad52e","5ff39c12e2e8fa00503ad52f","5ff39c12e2e8fa00503ad530","5ff39c12e2e8fa00503ad531","5ff39c12e2e8fa00503ad532","5ff39c12e2e8fa00503ad533","5ff39c12e2e8fa00503ad534","5ff39c12e2e8fa00503ad535","5ff39c12e2e8fa00503ad536","5ff39c12e2e8fa00503ad537","5ff39c12e2e8fa00503ad538","5ff39c12e2e8fa00503ad539","5ff39c12e2e8fa00503ad53a","5ff39c12e2e8fa00503ad53b","5ff39c12e2e8fa00503ad53c","5ff39c12e2e8fa00503ad53d","5ff39c12e2e8fa00503ad53e","5ff39c12e2e8fa00503ad53f"],"_id":"5ff39c12e2e8fa00503ad5e4","project":"57336fd5a6a9c40e00e13a0b","__v":0,"forked_from":"5fc6c6094cb8fa066b0d2ea3","createdAt":"2018-04-24T15:22:41.561Z","releaseDate":"2018-04-24T15:22:41.561Z"},"createdAt":"2016-01-22T17:46:32.268Z","githubsync":"","__v":0}
postCreate ECP Transaction
Definition
Documentation
The Create ECP Transaction request performs a transaction (purchase) using the ACH/ECP payment method. For more information about this payment method, see ACH/ECP.
Prerequisite: Enable the ECP payment method in your account
In the BlueSnap Merchant Console, go to Checkout Page > Payment Methods and select Show in the menu next to the ECP payment method. Click Submit to save your change.
Request Content
Send an altTransaction object with the following:
merchantTransactionId
string optional
softDescriptor
string optional
amount
decimal required
currency
string required
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 required if using Secured Payment Collector
ecpTransaction
object required if pfToken
is not sent (see ecpTransaction)
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)
vendorsInfo
(see vendorsInfo)
Examples
Request Examples
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 '
{
"ecpTransaction": {
"routingNumber": "011075150",
"accountType": "CONSUMER_CHECKING",
"accountNumber": "4099999992"
},
"amount": "100",
"payerInfo": {
"zip": "12345",
"firstName": "John",
"lastName": "Doe",
"phone": "1234567890"
},
"softDescriptor": "ABC COMPANY",
"currency": "USD",
"authorizedByShopper": true,
"transactionFraudInfo": {"fraudSessionId": "1234"}
}
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 '
{
"ecpTransaction": {},
"amount": 100,
"vaultedShopperId": 19563598,
"softDescriptor": "ABC COMPANY",
"currency": "USD",
"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 '
{
"ecpTransaction": {
"routingNumber": "011075150",
"accountType": "CONSUMER_CHECKING",
"accountNumber": 4099999992
},
"amount": 100,
"payerInfo": {
"zip": 12345,
"firstName": "John",
"lastName": "Doe",
"phone": 1234567890
},
"merchantTransactionId": "unique_001",
"currency": "USD",
"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 '
{
"ecpTransaction": {
"routingNumber": "011075150",
"accountType": "CONSUMER_CHECKING",
"accountNumber": 4099999992
},
"amount": 100,
"vendorsInfo": {
"vendorInfo": [
{"vendorId": "10398030"}
]
},
"payerInfo": {
"zip": 12345,
"firstName": "John",
"lastName": "Doe",
"phone": 1234567890
},
"softDescriptor": "ABC COMPANY",
"currency": "USD",
"authorizedByShopper": true,
"transactionFraudInfo": {
"fraudSessionId": 1234
}
}
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 '
{
"vaultedShopperId": "19570144",
"ecpTransaction": {
"accountType": "CONSUMER_CHECKING",
"publicAccountNumber": "99992",
"publicRoutingNumber": "75150"
},
"amount": "100",
"payerInfo": {
"zip": "12345",
"firstName": "John",
"lastName": "Doe",
"phone": "1234567890"
},
"softDescriptor": "ABC COMPANY",
"currency": "USD",
"authorizedByShopper": true,
"transactionFraudInfo": {"fraudSessionId": "1234"}
}
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 '
{
"pfToken": "eba795a8ec2a8e7754afe7a69b0a0869fba0e6daec01e2d81e1ccbb6771c24ab_",
"amount": 100,
"currency": "USD",
"payerInfo": {
"zip": "12345",
"firstName": "John",
"lastName": "Doe",
"phone": "1234567890"
},
"softDescriptor": "ABC COMPANY",
"authorizedByShopper": true
}'
{
"ecpTransaction": {
"routingNumber": "011075150",
"accountType": "CONSUMER_CHECKING",
"accountNumber": 4099999992
},
"amount": 100,
"payerInfo": {
"zip": 12345,
"firstName": "John",
"lastName": "Doe",
"phone": 1234567890
},
"vaultedShopperId": 21614935,
"processingInfo": {"processingStatus": "PENDING"},
"softDescriptor": "ABC COMPANY",
"currency": "USD",
"transactionId": 38504784,
"fraudResultInfo": {"deviceDataCollector": "Y"}
}
{
"ecpTransaction": {},
"amount": 100,
"vaultedShopperId": 19563598,
"processingInfo": {"processingStatus": "PENDING"},
"softDescriptor": "ABC COMPANY",
"currency": "USD",
"transactionId": 38504786
}
{
"ecpTransaction": {
"routingNumber": "011075150",
"accountType": "CONSUMER_CHECKING",
"accountNumber": 4099999992
},
"amount": 100,
"payerInfo": {
"zip": 12345,
"firstName": "John",
"lastName": "Doe",
"phone": 1234567890
},
"vaultedShopperId": 21614935,
"merchantTransactionId": "unique_001",
"processingInfo": {"processingStatus": "PENDING"},
"currency": "USD",
"transactionId": 38504788
}
{
"transactionId": "1015593717",
"vendorInfo": {
"vendorId": 10398030,
"commissionPercent": 30
},
"vendorsInfo": {
"vendorInfo": [
{
"vendorId": 10398030,
"commissionPercent": 30
}
]
},
"softDescriptor": "ABC COMPANY",
"amount": 100,
"currency": "USD",
"payerInfo": {
"firstName": "John",
"lastName": "Doe",
"zip": "12345",
"phone": "1234567890"
},
"vaultedShopperId": 22324287,
"ecpTransaction": {
"accountNumber": "4099999992",
"routingNumber": "011075150",
"accountType": "CONSUMER_CHECKING"
},
"processingInfo": {
"processingStatus": "PENDING"
}
}
{
"transactionId": "38505332",
"softDescriptor": "ABC COMPANY",
"amount": "100",
"currency": "USD",
"payerInfo": {
"firstName": "John",
"lastName": "Doe",
"zip": "12345",
"phone": "1234567890"
},
"vaultedShopperId": "19570144",
"ecpTransaction": {
"accountType": "CONSUMER_CHECKING",
"publicAccountNumber": "99992",
"publicRoutingNumber": "75150"
},
"processingInfo": {
"processingStatus": "PENDING"
}
}
Example Descriptions
Create basic ECP transaction with payer info
This example shows a basic create ECP Transaction request, including the minimum required fields to process an ACH/ECP transaction with basic information about the shopper.
For all ACH transactions, you must obtain permission from the shopper to debit their account, for example by showing a checkbox with the following wording on your checkout page. "I authorize this Electronic Check (ACH) transaction and agree to this debit of my account."
Include the authorizedByShopper
element with the value set to true to indicate that you have obtained the shopper's permission.
Create ECP transaction with vaulted shopper
To perform a Create ECP Transaction with an existing vaulted shopper (with saved ECP account details), you must include the vaultedShopperId
property within the altTransaction resource in your request.
Above is an example of a Create ECP Transaction request with an existing vaulted shopper with the ID 19563598. When you use a vaulted shopper, the ecpTransaction
property can be left empty, as shown in the example.
Create ECP transaction with Merchant Transaction ID
You may wish to assign your own ID to each transaction, for example in order to track the transactions in your own internal systems. To do this, you must include the merchantTransactionId
property within the altTransaction resource in your request.
Create ECP transaction with Vendors Info
This example shows a Create ECP transaction request within a marketplace. Include vendorsInfo
in the request to process a transaction involving one or more vendors. For more details, see Processing Transactions.
Create ECP transaction with multiple vaulted ACH
This example shows a Create ECP transaction request when the customer has more than one ACH account. When your vaulted shopper has multiple ACH accounts use ecpTransaction
to identify which ACH account to use for the transaction.
Create ECP transaction with a token
This example shows a Create ECP transaction request with tokenized bank details. When you use BlueSnap's Secured Payment Collector, you can securely capture and tokenize the shopper's sensitive banking details. After the shopper's banking details have been submitted to BlueSnap and associated with the token, you can process the transaction by including the token within the pfToken
property.
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.
{
"ecpTransaction": {
"routingNumber": "011075150",
"accountType": "CONSUMER_CHECKING",
"accountNumber": 4099999992
},
"amount": 100,
"payerInfo": {
"zip": 12345,
"firstName": "John",
"lastName": "Doe",
"phone": 1234567890
},
"softDescriptor": "ABC COMPANY",
"currency": "USD",
"authorizedByShopper": true
}