Skip to content
MrIvoryMrIvory
Connect processor Merchant panel

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

FieldRequired
APP_IDYes
ORDER_IDYes
AMOUNTYes — minor units, > 0
CURRENCY_CODEYes — ISO numeric
COUNTRYYes — ISO-2
BENEFICIARY_FIRST_NAME, BENEFICIARY_LAST_NAMEYes
BENEFICIARY_ADDRESSYes (validated; stored use is limited)
BENEFICIARY_IBANYes
BENEFICIARY_SWIFTCODEYes
TRANSFER_DESCRYPTIONYes — spelling as implemented
NETWORK_CODENo — defaults to LOCAL
HASHYes

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 AE070331234567890123456 and SWIFT BOMLAEAD (spaces stripped from IBAN) → debit the wallet and mark Captured / 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.

JSON
{
  "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.