Create a Batch Payment
POST/payment-batches
Create a batch payment.
This is an asynchronous operation.
Listen to the payments.succeeded
or payments.failed
webhook to be notified of the final outcome of each payment.
Please refer to the payment rules for each bank for details on per-bank limitations.
Request
Header Parameters
A unique value, eg. a UUID.
- application/json
Body
Array [
- FAST Receiver
- GIRO Receiver
- PayNow Receiver
- ACT receiver
- TT Receiver
- MEPS Receiver
- DuitNow Receiver
MOBILE
proxy type: A mobile number including the country code (+60 for Malaysia). E.g:+601255214553
.BUSINESS_REG
proxy type: A valid Business Registration Number (BRN) issued by the Companies Commission of Malaysia, a.k.a. Suruhanjaya Syarikat Malaysia (SSM). E.g:201903123456
.NRIC
proxy type: Only alphanumeric with no hyphens (-
) and no spaces allowed. Both New and Old IC numbers are supported. E.g:610204135758
.PASSPORT
proxy type: Passport Number + Alpha-3 country code of the country of issuance. E.g: given a passport number E394029340V and country code of Singapore (SGP), the value will beE394029340VSGP
.]
Possible values: [ACT
, FAST
, PAYNOW
, TT
, MEPS
, GIRO
, MY_DUITNOW
]
Type of payment
The date payment should be sent.
The Acme-specific internal id of the source bank account.
Currency to use in the sender account, if it has multiple currencies. Optional if sender account only has one currency configured.
Three-letter ISO 4217 currency code in full uppercase. Must be a currency supported by the payment type.
For example, FAST only supports SGD
.
payments
object[]
required
Payments to create in this batch. Maximum 1000 items.
A positive integer value in specified currency's smallest unit. e.g. for SGD, $10 would be represented as 1000 (cents).
A meaningful description of the payment. This will show up in the receiver's bank statement. Characters used should be restricted to the SWIFT Character Set: uppercase and lowercase letters A-Z, 0-9 numerals, space, and these symbols: /-?:().,'+
.
Extended description of the payment.
Usually for TT only - special instructions for sender bank
Possible values: [SENDER
, RECEIVER
, SHARED
]
For TT/MEPS - who pays for bank charges
receiver
object
required
oneOf
Receiver's name
Receiver's bank 11-character SWIFT/BIC code
Receiver's bank account number
address
object
Receiver's address
Receiver's name
Receiver's bank 11-character SWIFT/BIC code
Receiver's bank account number
address
object
Receiver's address
Receiver's name
Possible values: [MOBILE
, UEN
, VPA
]
The proxy type if type is PAYNOW
The proxy value if type is PAYNOW
Receiver's name
Receiver's bank account number
Receiver's name
Receiver's bank 11-character SWIFT/BIC code
Receiver's bank account number
Local routing identifier, if required e.g. AU BSB
Intermediary bank's BIC, if required
address
object
required
Receiver's address
Receiver's name
Receiver's bank 11-character SWIFT/BIC code
Receiver's bank account number
address
object
required
Receiver's address
Receiver's name
Possible values: [MOBILE
, BUSINESS_REG
, NRIC
, PASSPORT
]
The proxy type
Follow these formats:
Responses
- 200
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
Array [
]
Unique identifier for the object.
Possible values: [ACT
, FAST
, PAYNOW
, TT
, MEPS
, GIRO
, MY_DUITNOW
]
Type of payment
The date payment should be sent.
The Acme-specific internal id of the source bank account.
Three-letter ISO 4217 currency code in full uppercase. Must be a currency supported by the payment type.
For example, FAST only supports SGD
.
payments
object[]
Unique identifier for the object.
A positive integer value in specified currency's smallest unit. e.g. for SGD, $10 would be represented as 1000 (cents).
A meaningful description of the payment. This will show up in the receiver's bank statement. Characters used should be restricted to the SWIFT Character Set: uppercase and lowercase letters A-Z, 0-9 numerals, space, and these symbols: /-?:().,'+
.
Extended description of the payment.
Usually for TT only - special instructions for sender bank
Possible values: [SENDER
, RECEIVER
, SHARED
]
For TT/MEPS - who pays for bank charges
Possible values: [PROCESSING
, FAILED
, SUBMITTED
, COMPLETED
]
Status of the payment
receiver
object
Receiver's name
Receiver's bank SWIFT/BIC code
Receiver's bank account number
Possible values: [MOBILE
, UEN
, VPA
]
The proxy type if type is PAYNOW
The proxy value if type is PAYNOW
address
object
Receiver's address
Time at which the object was created. In ISO 8601 format.
Time at which the object was last updated. In ISO 8601 format.
Possible values: [OPEN
, PROCESSING
, SUBMITTED
, FAILED
, COMPLETED
]
Status of the batch
Time at which the object was created. In ISO 8601 format.
Time at which the object was last updated. In ISO 8601 format.
{
"id": "bpmt_0FGDYHZMRZF49",
"type": "TT",
"paymentDate": "2024-12-31",
"senderAccountId": "intacc_0FGDYHZMRZF49",
"currency": "SGD",
"payments": [
{
"id": "pymt_0H3BQXP3VF2HZ",
"amount": 4200,
"customerReference": "BONUS-2024-01",
"paymentDetails": "20 boxes of donuts",
"instructionForSenderBank": "string",
"bankChargeBearer": "SENDER",
"status": "PROCESSING",
"receiver": {
"name": "Harry Potter",
"bank": "DBSSSGSGXXX",
"bankAccountNumber": "0052312891",
"proxyType": "MOBILE",
"proxyValue": "+6592345678",
"address": {
"line1": "20 Main Street",
"line2": "Unit #03-45",
"city": "Singapore",
"state": "",
"postalCode": "11111",
"country": "Singapore"
}
},
"createdAt": "2023-04-24T00:00:00.000000Z",
"updatedAt": "2023-04-24T00:00:00.000000Z"
}
],
"status": "SUBMITTED",
"createdAt": "2023-04-24T00:00:00.000000Z",
"updatedAt": "2023-04-24T00:00:00.000000Z"
}