Create a Direct Debit Payment
POST/direct-debit-payments
Request
Header Parameters
A unique value, eg. a UUID.
- application/json
Body
Possible values: [FAST
]
Type of the payment.
Must not be greater than the Direct Debit Authorization's maximum amount.
Possible values: [SGD
]
Must be the same as the Direct Debit Authorization's currency.
The ID of a successful Direct Debit Authorization for your payer (status is SUCCEEDED).
Possible values: Value must match regular expression ^[a-zA-Z0-9\-]{1,35}$
A meaningful description of the debit/payment. This will show up in your payer's bank statement. In test mode, set this to "fail" to simulate a failed debit/payment.
Responses
- 200
- 429
OK
Response Headers
Acme-Mode
string
Has the value LIVE if the data exists in live production mode or the value TEST if the data exists in test sandbox mode.
- application/json
- Schema
- Example (from schema)
Schema
INVALID_AMOUNT
: Requested debit amount is not valid. E.g. the amount is larger than the maximum amount allowed by the FAST network.TRANSACTION_LIMIT_EXCEEDED
: Requested debit amount exceeds the maximum amount set in the Direct Debit Authorization.DIRECT_DEBIT_AUTHORIZATION_TERMINATED
: Payer has terminated the Direct Debit Authorization.DIRECT_DEBIT_AUTHORIZATION_EXPIRED
: Direct Debit Authorization has expired.PAYER_ACCOUNT_CLOSED
: Payer's bank account has been closed.INSUFFICIENT_FUNDS
: Payer's bank account does not have sufficient balance.DUPLICATE_TRANSACTION
: This payment not processed because it is a duplicate of a previous payment, ensure you use a unique customerReference.OTHERS
: Generic or unknown reason. If you need to find out more, reach out to Acme Support.
Unique identifier for the object.
Possible values: [FAST
]
Type of the payment
A positive integer value in specified currency's smallest unit. e.g. $10 would be represented as 1000 (cents).
Possible values: [SGD
]
Three-letter ISO 4217 currency code in full uppercase.
Possible values: Value must match regular expression ^[a-zA-Z0-9\-]{1,35}$
A meaningful description of the debit/payment. This will show up in your payer's bank statement.
A Direct Debit Authorization ID, eg. dda_1234567. This is required for pulling money from an external bank account via direct debit. Only required for direct debits.
Possible values: [PROCESSING
, SUBMITTED
, SUCCEEDED
, FAILED
]
Status of the payment
Possible values: [PROCESSING
, SUBMITTED
, SUCCEEDED
, FAILED
]
For FAILED
payments with resultCode DUPLICATE_TRANSACTION
, the status of the previous payment, if we know it.
Possible values: [INVALID_AMOUNT
, TRANSACTION_LIMIT_EXCEEDED
, DIRECT_DEBIT_AUTHORIZATION_TERMINATED
, DIRECT_DEBIT_AUTHORIZATION_EXPIRED
, PAYER_ACCOUNT_CLOSED
, INSUFFICIENT_FUNDS
, DUPLICATE_TRANSACTION
, OTHERS
]
Additional information when status is FAILED
, if available.
Time at which the object was created. In ISO 8601 format.
Time at which the object was last updated. In ISO 8601 format.
{
"id": "dpymt_0FS1FPAWHG0SG",
"type": "FAST",
"amount": 4200,
"currency": "SGD",
"customerReference": "PAY-424242",
"directDebitAuthorizationId": "dda_0H3BQWP0T4W2H",
"status": "SUCCEEDED",
"createdAt": "2023-04-24T00:00:00.000000Z",
"updatedAt": "2023-04-24T00:00:00.000000Z"
}
rate limited
- application/json
- Schema
- Example (from schema)
Schema
object
{
"errorCode": "RATE_LIMIT_EXCEEDED",
"errorMessage": "rate limit exceeded"
}