Hold a payment
Temporarily prevent a payment from processing
Overview
As illustrated in the previous two sections, due to the asynchronous nature of ACH payments there may be instances where a payment is created via an API request and subsequently needs to be completely stopped from processing or cancelled. But what if you just wanted to temporarily stop a payment from processing rather than completely cancelling it or deciding on a new payment date. Well, that's what hold is for!
This function isn't used often, but could be handy in situations where there is a pending customer verification (KYC) or maybe a product shipment delay.
As indicated on the link shared above, as long as the current status of the payment is scheduled it can be placed on hold via a simple API call.
Fields and values
Third time is a charm
Remember to pass in the Transact_ReferenceID as it's the key to querying the desired payment record to place on hold
Placing a payment on hold is almost exactly like cancelling a payment with the one difference being the value pass in the Command field:
Field Name | Usage | Field Value Format Constraints | Max Length |
---|---|---|---|
Command | Required | Set to ECheck.Hold | 50 |
Transact_ReferenceID | Required | A unique identifier assigned to the original payment by ACHQ | 50 |
Remember, all API requests should always include the fields detailed in the General Implementation Rules.
Resulting in the following request:
curl --request POST \
--url 'https://www.speedchex.com/datalinks/transact.aspx/?ProviderID=99&Provider_GateKey=test&Provider_GateID=test&MerchantID=2001&Merchant_GateID=test&Merchant_GateKey=test&CommandVersion=2.0&Command=ECheck.Void&cancel=' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data Transact_ReferenceID=14477207
and response:
{
"CommandStatus": "Approved",
"Description": "Command Successful. Approved.",
"ErrorInformation": null,
"ExpressVerify": {
"Status": null,
"Code": null,
"Description": null
},
"ResponseData": null,
"ACHQToken": null,
"Provider_TransactionID": null,
"TransAct_ReferenceID": "14477210",
"ResponseCode": "000"
}
View more at the 🛑 cancel a payment endpoint
Updated over 2 years ago