Skip to main content

Simulate an incoming payment

Simulate an incoming payment posts an inward credit confirmation (ICC) in the sandbox. Use it to test virtual account crediting, reconciliation, and the workflows that follow, without a live bank payment.

Use this request when you need to:

  • Credit a virtual account.
  • Test reconciliation and credit posting.
  • Confirm later status changes and webhooks.

For the wider sandbox approach, see Testing Nium. For virtual accounts, see Virtual accounts.

important

This request works in the sandbox only.

Endpoint​

POST /api/v1/inward/payment/manual

Simulate Receiving a Transaction credits a virtual account.

Headers​

HeaderRequiredDescription
X-Api-KeyYesYour API key
Content-TypeYesapplication/json

Request body​

{
"additionalInfo": {
"ANY_ADDITIONAL_PROPERTY": ""
},
"amount": 10,
"bankReferenceNumber": "712347512376",
"bankSource": "DBS_SG",
"branchCode": 535,
"country": "SG",
"currency": "SGD",
"customerReferenceNumber": 712347512376,
"iccExpiry": "2023-07-05 07:26:38.026",
"instructionType": "PROCESS",
"narrative": "FROM NIUM",
"payMode": "ACH",
"remitterAccountNumber": "HLFX11029100808072",
"remitterBankCode": "BYLADEM1KUB",
"remitterBankName": "DBS_SG",
"remitterName": "John K",
"remitterNameLocalLanguage": "エム・エス・シャーマー",
"transactionId": "FW242141",
"transactionSource": "ACH",
"type": "CREDIT",
"virtualAccountNumber": "907654315445678"
}

Request fields​

FieldRequiredTypeDescription
amountYesnumberTransaction amount
currencyYesstring3-letter ISO currency code
countryYesstringCountry code
bankReferenceNumberYesstringBank reference number. Use a new value on every call.
bankSourceYesenumSource bank. See the accepted values below.
branchCodeNostringBank branch code
customerReferenceNumberNostringYour reference for the payment
transactionIdYesstringUnique transaction ID
transactionSourceNostringICC transaction source
typeNostringCREDIT or DEBIT
instructionTypeNoenumINQUIRY or PROCESS
payModeNostringPayment mode
narrativeNostringTransaction narration
virtualAccountNumberYesstringVirtual account to credit
iccExpiryNostringICC expiry timestamp
additionalInfoNoobjectExtra attributes

bankSource accepts DBS_HK, DBS_SG, DBS_ID, JPM_SG, and JPM_AU.

FieldRequiredTypeDescription
remitterNameNostringSender name
remitterNameLocalLanguageNostringSender name in the local language
remitterAccountNumberNostringSender account number
remitterBankCodeNostringSender bank code
remitterBankNameNostringSender bank name

Response​

A successful call returns HTTP 200.

{
"success": true,
"message": "ICC request has been processed and published successfully"
}
StatusMeaningExample
400The request is invalidDBS_AU is invalid for field [bankSource]
401The API key is missing or invalidInvalid or missing API key
403The caller does not have permissionForbidden
500The server could not complete the requestUnexpected error occurred

Test an incoming payment​

  1. Create a virtual account. See Virtual accounts.
  2. Call Simulate Receiving a Transaction with that virtualAccountNumber.
  3. Confirm the credit with Transactions.
LLM-ready documentation:: llms.txt and llms-full.txt
Was this page helpful?