Acme Documentation
website·Indexed 33 days ago
https://docs.tryacme.comTechnical guides for integrating with Acme's payment APIs and Host-to-Host (H2H) services. Includes documentation on authentication, idempotency, rate limits, and specific bank payment implementations across various regions including Australia, Mexico, Singapore, Brazil, China, Indonesia, Korea, Malaysia, Taiwan, and the US.
What's inside Acme
- Acme provides a single REST API (JSON-over-HTTPS) that abstracts the protocols, file formats, and payment rails of multiple banks. It allows developers to integrate once to handle payments, collections, accounts, and foreign exchange (FX) across various financial institutions without building bank-specific integrations.
Overview of Standard Chartered Bank Singapore H2H Payments
Acme supports host-to-host (H2H) file integration for payments via Standard Chartered Bank (SCB) Singapore (SWIFT BIC: SCBLSG22XXX). The system validates data formats and rules that may be stricter than the bank's own requirements. Supported payment types includeFAST,GIRO,MEPS,SG_PAYROLL,BKTR, andTT.Get started with the Acme REST API
Acme provides a REST API for money movement and treasury operations that abstracts underlying banking services and protocols. The API uses HTTPS and communicates exclusively via JSON-encoded requests and responses. To begin integration, contact Acme to obtain a test API key. A dedicated test mode is available for development, which does not interact with real banks or affect live data.UOB Singapore Payment Field Validations Overview
Payments processed through UOB Singapore are subject to specific data format and validation rules. A critical requirement for all payment types is the
receiver.address.countryfield, which must be a mandatory, uppercase 2-letter ISO 3166 Alpha-2 country code (e.g.,SG,MY,AU,US).Many fields use the SWIFT Character Set, which consists of:
- Uppercase and lowercase Latin letters (
A-Z,a-z) - Digits
0-9 - Special characters:
/,-,?,:,(,),.,,,',+, and space.
- Uppercase and lowercase Latin letters (
List report files for an organization
Use theGET /v1/report-filesendpoint to list the report files Acme has retrieved from banks on your behalf. Each entry provides metadata about a file. Note that report files are available for 30 days after creation; check theexpiresAtfield for the specific expiry timestamp. To retrieve the actual file content, use the report ID with the 'Download a Report File' endpoint.curl -X GET "https://example.com/v1/report-files" \ -H "Authorization: Bearer <token>"Migrate MEPS and TT payments from V4 to V6 (ISO 20022)
Migrating to the V6 Payment API introduces several breaking changes for MEPS and TT payments. You must sanitize stored payee names and update address logic before migrating.
Breaking Changes:
receiver.name: Now strictly enforced asSWIFTcharset, up to 140 characters. Characters like!,#,$,%,&,*,;,=,@,[,],^,_,`,{,},|,~will cause rejection.receiver.address.city: Now Mandatory (was optional in V4).receiver.address.country: Now Mandatory and must be an ISO 3166-1 alpha-2 code (e.g.,SG).receiver.address.postalCode: Max length reduced from 35 to 16.
Non-Breaking Changes:
receiver.address.line1andline2max length increased from 35 to 70.
Execute a cross-border SWIFT transfer (TT)
Use
TT(Telegraphic Transfer) for cross-border payments.Requirements:
receiver.bank(SWIFT BIC) is mandatory.currencymust be a valid ISO 4217 currency code.
Execute a Telegraphic Transfer (TT) for international payments
Use
TTfor international payments.Critical Constraints:
- TWD Amounts: Must not have cents/decimals (amount must end in
00). - Payment Date: Cannot be in the past; maximum 21 days forward.
- Regulatory Reporting: Taiwan Central Bank requires
beneficiaryType,transactionNature,purposeCode,subCode, andspecialApproval. Acme assembles these into a specific string for the bank. Refer to the Citibank Taiwan Central Bank Reporting Code for valid values. - SubCode: Mandatory if
purposeCodeis692,693, or695.
{ "payments": [ { "beneficiaryType": "1", // 1: Govt, 2: Public, 3: Private, 4: FX Funds "transactionNature": "S", // One of S, Y, B, A, C, I, G, J, E, R, T, X, 4 "purposeCode": "194", // Alphanumeric, exactly 3 chars "specialApproval": "N", // Y or N "receiver": { "name": "Recipient Name", "bank": "CITITWXXXX", // BIC 8 or 11 chars "bankAccountNumber": "123456789", "address": { "city": "Taipei", // Mandatory "country": "TW" // ISO 3166-1 alpha-2, Mandatory } } } ] }- TWD Amounts: Must not have cents/decimals (amount must end in
Execute FAST payments via Maybank Singapore
FAST payments are used for real-time transfers.
Constraints:
- Maximum amount: SGD 200,000 per transaction.
purposeCode: Mandatory (4 characters). Refer to the Association of Banks in Singapore (ABS) mnemonic purpose codes.receiver.bank: Must be the beneficiary bank's BIC11 (max 11 alphanumeric characters).receiver.bankAccountNumber: Must be numeric digits only (max 34 characters).
{ "type": "FAST", "paymentDate": "2026-06-30", "senderAccountId": "intacc_0H3BQNTQGBW2W", "senderAccountCurrency": "SGD", "currency": "SGD", "payments": [ { "amount": 10000, "customerReference": "INV-001", "paymentDetails": "Payment for invoice 001", "purposeCode": "OTHR", "receiver": { "name": "Tan Ah Kow", "bank": "DBSSSGSGXXX", "bankAccountNumber": "9876543210" } } ] }Execute in-house book transfers using BKTR
Use the
BKTRpayment type for in-house book transfers between Banco Azteca (AZTKMXMMXXX) accounts.Key Field Validations:
receiver.bankAccountNumber: Must be a numeric Banco Azteca account number (14 or 20 digits).paymentDetails: The debit reference (concepto de pago) shown on the sender's statement (Mandatory, max 30 characters).customerReference: The payment reference (concepto de pago) shown to the receiver (Optional, max 30 characters). If omitted, Acme defaults this to the value ofpaymentDetails.- The beneficiary account is always treated as a checking account.
Book transfers and comprobantes are typically completed within 1 minute.
{ "type": "BKTR", "amount": 150000, "currency": "MXN", "senderAccountId": "intacc_0H3BQNTQGBW2W", "customerReference": "Pago de servicios", "paymentDetails": "Payment for invoice 001", "receiver": { "name": "Comercializadora Azteca SA de CV", "bankAccountNumber": "12345678901234" } }Create a Malaysia Instant Fund Transfer (MY_IBFT) payment
Use the
MY_IBFTtype for instant transfers via DuitNow Bank Account Transfer.Constraints:
- Currency must be MYR.
customerReferenceis mandatory and limited to 20 characters.receiver.residencyStatusis mandatory (RESIDENTorNON_RESIDENT).receiver.accountTypeis mandatory (CHECKINGorSAVINGS).receiver.bankmust be an 11-character BIC/SWIFT code.
{ "type": "MY_IBFT", "amount": 1000, "currency": "MYR", "senderAccountId": "intacc_0H3BQNTQGBW2W", "customerReference": "INV-001", "paymentDetails": "Payment for invoice 001", "paymentAdviceEmails": ["finance@example.com"], "receiver": { "name": "Ahmad bin Ali", "bank": "PBBEMYKLXXX", "bankAccountNumber": "1234567890", "residencyStatus": "RESIDENT", "accountType": "SAVINGS" } }Encrypt sensitive information for Acme using PGP
To ensure that only Acme can decrypt sensitive or confidential information, use Acme's PGP public key for encryption. After importing the key, verify it against the following identity details:
- Key ID:
62ED3283F9F7E413 - User ID:
Acme Technology (Acme Technology - secure file sharing) <support@tryacme.com> - Key fingerprint:
FF73 91B5 8765 F43A E868 9CB7 62ED 3283 F9F7 E413
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBGWfjUkBCACQ8X9tRoMzg5jOuP93FoAO5CVx+32MmwjrUj1UMlogdBSdY0/3 LQ7u7/JzIJamEpey7itHLU20tnYIveZxXlZRUVhjI/LAbWqrTLdwu1AALHFBLIio LDU4zl4QOsfRIurbuTUsSXMVt90nkVRU8frwNo2/Vv4u5dzvbwkxOJxhPTuEZIVZ 2RJXSQQ6jImCl3tIyrqPPoT8hy8iLSSNqopsYkP6g1IRXtPcThToqeArk2V2/ddF Hi7obyTAKzVoR4ojcdClfbaKGJHycFSLDekl3VPuV0BUDJyjyB1VL6QrNHIi2o/y bl/eEk4kD9RJKxlDq9lpXGeG3TqZoc++iRZXABEBAAG0TUFjbWUgVGVjaG5vbG9n eSAoQWNtZSBUZWNobm9sb2d5IC0gc2VjdXJlIGZpbGUgc2hhcmluZykgPHN1cHBv cnRAdHJ5YWNtZS5jb20+iQFXBBMBCABBFiEE/3ORtYdl9DroaJy3Yu0yg/n35BMF AmWfjUkCGwMFCQlbdYAFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQYu0y g/n35BP+yQf/a+NCpP4BwlcoJze8ziC9C1PX2InW2Rq6J+IbFrjbkyAFhA9+QMe8 uzNAFxPYQBCdBa5WdkndVflFup0BdKVwbpyIAbHRqvwlKUu2rQly+ewn/B6jyF0U CguhVLXTQGK3K/E4+fk0XcJJSNsqdtuxq40Dj7Dehufuuy3LwKEp3JRqLeMp7Zo/ OHwadBdvTCJ0cBWO8WfmHDHqrN9oADnr4MJKuzPTk1/FRni5vZc77J2UCULsi3yA HD6WCv1Aff1kD2bYe4j7S57AX7JBgLH8aEitATaL6pVXUV2h3KZqTmerFqPmdevl +15WT4n26iCDVuIiIVsZ23g/Oz9XjX0HVLkBDQRln41JAQgApPX6KHZqnvKahTyl hrfYUhUYyLNdFS9jmTwE553SAXwsI+UR/orEz3jsK06AHzOlc/3rGrt7udrrSEwm OoZmEV1yX97Qt2pGQdoMr1P2tyhkNOxW7bIq4pyzO1bD2dQnQmfOvE/eDG1wfvUB V3sp30RCMoJxloLH+3KEM7h1EGlS8E0FHZJqkrlGmgNK3ywZ2RqfVvMjpNCj56Hg lkukbuktHD2sHUD28UUzICMAtB8XLFXZUoRskeO21hlwIw0o+PTMZFl/LjFdC+dI ytg9H/ZQCsXqFSx6L0nhOakykxCXFo/PA8vqF3WkIhHpkHrSj6bIB2dnBO5brMoW V5TyHQARAQABiQE8BBgBCAAmFiEE/3ORtYdl9DroaJy3Yu0yg/n35BMFAmWfjUkC GwwFCQlbdYAACgkQYu0yg/n35BPEoQf/VsxFk0AoUYx3KIkDMU1ptRJant6PVZwr giccXZ0oaJ4QLzWeW8ArATpkmIu4B8xiXir8d8PDhLmAMMZop9XhdpNP8GByzMmH jxbvLnZYrdHDI8uIwFVGUtNDrkFfQITz2DTGUqwkm+uvxCD32IG2q8m+9wTRUIdi EskOWIoRzujrTsNxaRcaFDEkFttxPZbbSKQPtKZO8lsNl2U6WggWr1kZV69IIM8b KDZWF8oZ8+1MR1LX2nQ13qj9Eq2bx7eSa3lHoUV092QFpcsX3JHa776ajL4M6tsL G1JtwTuvBH/gyN7IfUJ2pj1eAebeDUaoOwtKzyTxXjC7y6BcIIBVJw== =ro9p -----END PGP PUBLIC KEY BLOCK------ Key ID: