{"_id":"59a45d2bd12e81000f842efd","category":{"_id":"59a45d2bd12e81000f842ee6","version":"59a45d2bd12e81000f842ee2","project":"57336fd5a6a9c40e00e13a0b","__v":0,"sync":{"url":"","isSync":false},"reference":true,"createdAt":"2016-01-13T18:38:47.347Z","from_sync":false,"order":3,"slug":"ecp-transaction-service","title":"ACH/ECP Transactions"},"parentDoc":null,"project":"57336fd5a6a9c40e00e13a0b","user":"560d5913af97231900938124","version":{"_id":"59a45d2bd12e81000f842ee2","project":"57336fd5a6a9c40e00e13a0b","__v":1,"createdAt":"2017-08-28T18:12:59.168Z","releaseDate":"2017-08-28T18:12:59.168Z","categories":["59a45d2bd12e81000f842ee3","59a45d2bd12e81000f842ee4","59a45d2bd12e81000f842ee5","59a45d2bd12e81000f842ee6","59a45d2bd12e81000f842ee7","59a45d2bd12e81000f842ee8","59a45d2bd12e81000f842ee9","59a45d2bd12e81000f842eea","59a45d2bd12e81000f842eeb","59a45d2bd12e81000f842eec","59a45d2bd12e81000f842eed","59a45d2bd12e81000f842eee","59a45d2bd12e81000f842eef","59a45d2bd12e81000f842ef0","59a45d2bd12e81000f842ef1"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":false,"codename":"3.22.1","version_clean":"8976.0.0-JSON","version":"8976-JSON"},"__v":0,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-01-22T17:46:32.268Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[{"language":"text","code":""}]},"settings":"57ee593a21ceb20e0061959e","examples":{"codes":[]},"method":"post","auth":"optional","params":[],"url":"/alt-transactions"},"isReference":true,"order":9,"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](/v1.0/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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`merchantTransactionId` &nbsp;&nbsp;&nbsp; *string* &nbsp;&nbsp;&nbsp;optional\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`softDescriptor` &nbsp;&nbsp;&nbsp; *string* &nbsp;&nbsp;&nbsp;optional\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`amount` &nbsp;&nbsp;&nbsp; *decimal* &nbsp;&nbsp;&nbsp;<span style=\"color:#F37500\">**required**</span>\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`currency` &nbsp;&nbsp;&nbsp; *string* &nbsp;&nbsp;&nbsp;<span style=\"color:#F37500\">**required**</span>\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`vendorInfo` *container* &nbsp;&nbsp;&nbsp;<span style=\"color:#F38A00\">**required** if Marketplace vendors used</span> (see [vendorInfo](doc:vendorinfo-1))\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`payerInfo` &nbsp;&nbsp;&nbsp; *object* &nbsp;&nbsp;&nbsp;<span style=\"color:#F38A00\">**required** if `vaultedShopperId` is not sent</span> (see [payerInfo](doc:payer-info))\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`vaultedShopperId` &nbsp;&nbsp;&nbsp; *integer* &nbsp;&nbsp;&nbsp;<span style=\"color:#F38A00\">**required** if `payerInfo` is not sent</span>\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`ecpTransaction` &nbsp;&nbsp;&nbsp; *object* &nbsp;&nbsp;&nbsp;<span style=\"color:#F37500\">**required**</span> (see [ecpTransaction](doc:ecp-transaction))\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`authorizedByShopper` &nbsp;&nbsp;&nbsp; *boolean* &nbsp;&nbsp;&nbsp;<span style=\"color:#F38A00\">**required**, value must be **true**</span>\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`transactionMetaData` &nbsp;&nbsp;&nbsp; *object* &nbsp;&nbsp;&nbsp;optional (see [transactionMetaData](doc:transaction-meta-data))\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`transactionFraudInfo` &nbsp;&nbsp;&nbsp; *object* &nbsp;&nbsp;&nbsp;optional (see [transactionFraudInfo](doc:transaction-fraud-info))\n\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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`transactionId`\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`vaultedShopperId`\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`processingInfo`&nbsp;&nbsp;&nbsp;(see [processingInfo](doc:processing-info))\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`fraudResultInfo`&nbsp;&nbsp;&nbsp;(see [fraudResultInfo](doc:fraud-result-info))\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`vendorInfo` if marketplace vendor used (see [vendorInfo](doc:vendorinfo-1))\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    \\\"vendorInfo\\\": {\\n        \\\"vendorId\\\": 514147\\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 vendor info\"\n    }\n  ]\n}\n[/block]\n###Response Examples\n\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\": \"200 OK - 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\": \"200 OK - with Merchant Transaction ID\"\n    },\n    {\n      \"code\": \"{\\n    \\\"transactionId\\\": \\\"1013352963\\\",\\n    \\\"vendorInfo\\\": {\\n        \\\"vendorId\\\": 514147,\\n        \\\"commissionPercent\\\": 20\\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\\\": 21528205,\\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\": \"200 OK - with vendor info\"\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'll need to 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 will need to include the `merchantTransactionId` property within the **[altTransaction](doc:alt-transaction)** resource in your request.\n\n###Create ECP transaction with Vendor Info\nThis example shows a Create ECP transaction request within a marketplace. If you are a marketplace merchant, you will include `vendorInfo` in the request to process a transaction between a shopper and a specific vendor within your marketplace (see [vendorInfo](doc:vendorinfo-1)). \n\nIn the above example request, only the required `vendorId` is included in the `vendorInfo` container. By leaving out the `commissionPercent` property, the transaction will default to the value set during the creation of the vendor. \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]","excerpt":"","slug":"create-ecp-transaction","type":"post","title":"Create ECP Transaction"}

postCreate ECP Transaction


Definition

{{ api_url }}{{ page_api_url }}

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.

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

      vendorInfo container    required if Marketplace vendors used (see vendorInfo)

      payerInfo     object    required if vaultedShopperId is not sent (see payerInfo)

      vaultedShopperId     integer    required if payerInfo is not sent

      ecpTransaction     object    required (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)

      vendorInfo if marketplace vendor used (see vendorInfo)


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,
    "vendorInfo": {
        "vendorId": 514147
    },
    "payerInfo": {
        "zip": 12345,
        "firstName": "John",
        "lastName": "Doe",
        "phone": 1234567890
    },
    "softDescriptor": "ABC COMPANY",
    "currency": "USD",
    "authorizedByShopper": true,
     "transactionFraudInfo": {
          "fraudSessionId": 1234
    }
}'

Response Examples

{
    "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": "1013352963",
    "vendorInfo": {
        "vendorId": 514147,
        "commissionPercent": 20
    },
    "softDescriptor": "ABC COMPANY",
    "amount": 100,
    "currency": "USD",
    "payerInfo": {
        "firstName": "John",
        "lastName": "Doe",
        "zip": "12345",
        "phone": "1234567890"
    },
    "vaultedShopperId": 21528205,
    "ecpTransaction": {
        "accountNumber": "4099999992",
        "routingNumber": "011075150",
        "accountType": "CONSUMER_CHECKING"
    },
    "processingInfo": {
        "processingStatus": "PENDING"
    }
}

Back to Top


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'll need to 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 will need to include the merchantTransactionId property within the altTransaction resource in your request.

Create ECP transaction with Vendor Info

This example shows a Create ECP transaction request within a marketplace. If you are a marketplace merchant, you will include vendorInfo in the request to process a transaction between a shopper and a specific vendor within your marketplace (see vendorInfo).

In the above example request, only the required vendorId is included in the vendorInfo container. By leaving out the commissionPercent property, the transaction will default to the value set during the creation of the vendor.



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.

{
    "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
}

User Information

Try It Out


post
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}