Payout wallet
Payout
Three JSON POSTs. Initiate acknowledges; getStatus is what settles the sandbox payout and returns the trail.
Initiate
POST /pgui/services/paymentServices/payout/initiate
| Field | Required |
|---|---|
| APP_ID | Yes |
| ORDER_ID | Yes |
| AMOUNT | Yes — minor units, > 0 |
| CURRENCY_CODE | Yes — ISO numeric |
| COUNTRY | Yes — ISO-2 |
| BENEFICIARY_FIRST_NAME, BENEFICIARY_LAST_NAME | Yes |
| BENEFICIARY_ADDRESS | Yes (validated; stored use is limited) |
| BENEFICIARY_IBAN | Yes |
| BENEFICIARY_SWIFTCODE | Yes |
| TRANSFER_DESCRYPTION | Yes — spelling as implemented |
| NETWORK_CODE | No — defaults to LOCAL |
| HASH | Yes |
Immediate success-of-accept is RESPONSE_CODE=703, STATUS=Pending. Insufficient wallet → 700. Bad currency or amount → 326.
Get status (this is when it settles)
POST /pgui/services/paymentServices/payout/getStatus
Required: APP_ID, HASH, and at least one of TXN_ID or ORDER_ID. Missing both → 303.
Envelope 705 / STATUS=SUCCESS means rows were found. Read each TRAIL[] item. Nothing found → 302, empty trail.
On the first status call the sandbox decides:
- IBAN
AE070331234567890123456and SWIFTBOMLAEAD(spaces stripped from IBAN) → debit the wallet and markCaptured/000, unless the wallet is now short (700). - Any other IBAN/SWIFT pair →
Failed/007. Wallet is not debited.
Fetch balance
POST /pgui/services/paymentServices/payout/fetchBalance with APP_ID, CURRENCY_CODE, HASH.
{
"PAYOUT_BALANCE": "10000.00",
"INTERVAL": "<now> - <10 days ago>",
"RESPONSE_CODE": "000",
"STATUS": "SUCCESS",
"HASH": "…"
}PAYOUT_BALANCE is a decimal string, not minor units. INTERVAL is a timestamp pair the server fills in; it is not a filter you send.
Mr Ivory remittance
Mr Ivory remittance is an outbound remittance / payout rail, not card acquiring. Merchants collect on an assigned card processor, then remit out on this payout rail. Paste remittance API username / password (stored raw; SHA-256 hex is sent) and origin country on My Profile. The panel flow is Remit / Payout: bank or mobile wallet → beneficiary → quote → confirm → status. Remit-to-card (RSA PAN encryption) is out of scope. Missing keys show Remittance credentials not configured and can run a local demo. Never store shopper PAN/CVV. Not PCI Level 1.