Skip to content
Developer Tools
Accelerate development using AI assistants and tools

Transfer to Wallet

  • Endpoint: POST /v1.0/emoney/topup
  • Tags: Indonesia SNAP/Disbursement

Description

This API is used for wallet payments. When handling the response of this interface, please pay attention to the following points; otherwise, there may be a risk of financial loss:

When "responseCode": "2003800" , "responseMessage": "Success." , "additionalInfo.status": "PENDING" are returned, it means the order is successfully placed. Please refer to the callback or query interface status for the order status; When "responseCode": "4093801" , "responseMessage": "The order number repeat." , it means that the partnerReferenceNo has been ordered. Please wait for the callback or query interface to confirm the order status. Each order must be made to ensure that the partnerReferenceNo is unique; In other scenarios, please check the parameters and reinitiate without changing partnerReferenceNo, and pay attention to resetting X-TIMESTAMP;

Service Code=38

Parameters

FieldInTypeRequiredConstraintsDescription
Content-TypeheaderstringYesapplication/json
X-TIMESTAMPheaderstringYesRequest time, compliant with rfc3339 specification, format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX The time must be within two minutes of the current time
X-SIGNATUREheaderstringYesRepresents signature of a request.
CHANNEL-IDheaderstringYesDevice identification on which the API services is currently being accessed by the end user , like APP,WAP,WEB.
AuthorizationheaderstringYesRepresents access_token of a request; string starts with keyword “Bearer ” followed by access_token
X-PARTNER-IDheaderstringYesMerchant Id, the unique identifier generated when the merchant signs the contract with PayerMax
signheaderstringYes签名信息请参考技术文档

Parameter Examples

  • Content-Type: ""
  • X-TIMESTAMP: ""
  • X-SIGNATURE: ""
  • CHANNEL-ID: ""
  • Authorization: ""
  • X-PARTNER-ID: ""
  • sign: "FPFVT3o227JrFRbqu19boZCpVVTF9KznxyRawUmxpfXilHV/0yK46haPhAjNu1hPUMy7Vw/ILXhfzffNm4Fj0apWknlTY9OJxnSoQxS9BTFtc61tn5yV1q69x/kkBl82/qwg+XTJ4fOzy7Mar3VaC1E2PlDA6RkkKBUyNE6RYgsdB+Su7an4+4HVTNAnoe74WyvBgxTLMNg28igBTdqxaO3w/UBY6ObVp7vkqkQGdL1Y+HgmMYaAVwrM3+ALWGId0sJ+YqTY4WJ+0xCRGhaSnybiIjZsQEYyID68WNUfuavDLDsEhaMm/HfQvf5p0R1Ltovp3wwJnEbQcjY458iX5A=="

Request Body

Required

Content-Type: application/json

FieldTypeRequiredConstraintsDescriptionEnum
partnerReferenceNostringYesmaxLength: 64Merchant Order Id, a unique identifier for a merchant transaction, must not be duplicated and can only contain letters, numbers, and underlines.
amountobjectYes
amount.valuestringYesmaxLength: 12The transaction amount should be submitted according to the Decimal separator place supported by the currencies of each country. Note: Indonesia, Vietnam, South Korea, and Chile do not support decimal amounts in local currency.
amount.currencystringYesmaxLength: 3Transaction currency, uppercase letters.
additionalInfoobjectYes
additionalInfo.sourceAccountstringNomaxLength: 3Currency code of the deduction account, in uppercase letters.
additionalInfo.destinationCurrencystringNomaxLength: 3Specify the receiving currency by referring to the Payment Method Types List. If the receiving currency is indicated in the payment method, please specify it. If not indicated, the receiving currency is limited to the local currency and no specification is required.
additionalInfo.payeeInfoobjectYes
additionalInfo.payeeInfo.targetOrgstringYesmaxLength: 64Target organization.
additionalInfo.payeeInfo.payeeTypestringYesPayee type (PERSONAL/CORPORATION), default to PERSONAL
additionalInfo.payeeInfo.nameobjectYes
additionalInfo.payeeInfo.name.fullNamestringYesmaxLength: 512Full name of payee.
additionalInfo.payeeInfo.addressobjectNoReceiving address information.
additionalInfo.payeeInfo.address.addressstringNomaxLength: 512Address of payee.
additionalInfo.payeeInfo.address.citystringNomaxLength: 255City of payee.
additionalInfo.payeeInfo.address.statestringNomaxLength: 255State.
additionalInfo.payeeInfo.address.postalCodestringNomaxLength: 32Postal code of payee.
additionalInfo.payeeInfo.accountInfoobjectYesPayee account information.
additionalInfo.payeeInfo.accountInfo.accountNostringYesmaxLength: 128Payee account, fill in the corresponding account number according to the payment method.
additionalInfo.notifyUrlstringYesmaxLength: 255The backend callback address for merchants to receive payment results, starting with http/https.
additionalInfo.referencestringNomaxLength: 255A pass-through parameter, which will be returned the same in the notification callback API. This field is primarily to hold customized data from merchant.
additionalInfo.purposestringNoDisbursement purpose,enumeration value, ISUBIL:Pay to utilities (i.e. water, electricity, gas bills); EPTOUR:Tourism; EPTKAG:Pay for travel tickets or travel agency fees; ISPAYR:Pay Salary; ISPAYRA:Pay Agent Salary; ISGDDS:Goods Trade; ISSCVE:Purchase and Sale of Services; ISSUPP:Supplier Payment; ISLOGS:Logistics and Transportation Service Payment; INCEN:Incentive/Promotion/User Acquisition Activity; GAME:Gaming Equipment, Game Coins, and Other Game Items; SAMENM:Same Name Business Account Transfer; PAYCMSN:Reimbursement/Benefit Distribution/Commission Distribution; SAMENMC:Legal Person/Shareholder/Director Personal Account; AGOPEXP:Agency operating expenses; ADEXP:Advertising expenses;RFND:Refund;SMCNTST:Sub merchant settlement;LGTEP:Logistics expenses;GOODPAY:Goods payment;SINVEST:Investment in shares;FINVEST:Fund investment;TAXPAY:Tax payment;LOANPAY:Payment of loans; OTHER:Other;
additionalInfo.notifyEmailstringNomaxLength: 64Recipient notification email. Currently, only certain payment methods, such as FAWRY, send withdrawal code emails.
additionalInfo.remarkstringNomaxLength: 100Postscript or remarks for disbursement, allows format of English, numbers, dash lines, spaces and dots; Due to channel constraints, this field may undergo special processing, such as ultra long truncation or filling in default values.

Example

json
{
  "partnerReferenceNo": "20260825154446623100190",
  "amount": {
    "value": "10000",
    "currency": "IDR"
  },
  "additionalInfo": {
    "payeeInfo": {
      "targetOrg": "DANA",
      "payeeType": "PERSONAL",
      "accountInfo": {
        "accountNo": "08123456789"
      },
      "name": {
        "fullName": "test"
      }
    },
    "notifyUrl": "https://merchant.example.com/snap/payout-notify"
  }
}

Responses

200

FieldTypeRequiredConstraintsDescriptionEnum
responseCodestringYesResponse code, following the SNAP standard.
responseMessagestringYesResponse description, following the SNAP standard.
partnerReferenceNostringNomaxLength: 64Merchant Order Id.
referenceNostringNoPayerMax transaction serial Order Number.
additionalInfoobjectNo
additionalInfo.statusstringNomaxLength: 2Transaction status: 00 - Success, 03 - Pending, 04 - Bounced Back, 06 - Failed.

Response Example

json
{
  "responseCode": "2003800",
  "partnerReferenceNo": "20260825154446623100190",
  "referenceNo": "20260825074448TD6338410703027366T08",
  "responseMessage": "Success.",
  "additionalInfo": {
    "status": "PENDING"
  }
}

Was this page helpful?

Thank you for your help in improving PayerMax Product Docs!

Released under the MIT License.