Skip to main content

WPT Payout

POST
POSThttp://host/ewallet/api/v1/payoutProcess/api

This Payout API is used to perform all types of Wallet transactions (C2C).

This API ensures a seamless payout experience by validating sender and receiver details, performing compliance checks, and processing transactions securely and efficiently.

Request Structure

The payout request is composed of four main objects, each serving a specific role in the Customer-to-Customer (C2C) transaction workflow:

  • transactionInfo - Contains detailed information about the transaction, such as quotation details (received from the Quotation API), currency pair, transaction amount, and payout type. This section helps the system identify exchange rates, fees, and payout mode for the transaction.

  • sender - Provides complete details of the individual initiating the transfer. Includes information such as full name, identification details, and country of origin. This ensures the sender is properly verified before the transaction is processed.

  • receiver - Defines the beneficiary details, who is also an individual customer. It includes recipient information such as full name, wallet account or payout method details, country, and other required personal information. The receiver object ensures funds are routed accurately to the intended individual beneficiary.

  • compliance - Contains regulatory and compliance-related information, including purpose of remittance, source of funds, and AML/KYC verification details. This ensures that the transaction adheres to legal and jurisdictional requirements and helps reduce the risk of fraud or misuse.

transactionInfo Req Param

ParametersInput TypeLengthRequirementDescription
transactionInfo
payinAmountNumeric with decimal01 - 16MThe payin amount from the end sender. eg:1000.50,700
payinCurrencyAlphanumeric with hyphens03 - 15MThe payin or local currency from the end sender. eg:USD-USA, EUR
typeAlphanumeric03MThe harmonized Transaction Type. eg: WPT
requestDateDate10 - 19Mdd-mm-yyyy eg: 10-01-2025
sendClient TrxReferenceAlphanumeric10 - 30MThe RHUB transaction reference must contain 10 to 30 alphanumeric characters. eg:DDHD446CNNUY
paymentModeAlpha04MThe following modes that can be used for payment. eg:Cash • Cash • Bank
descriptionTextAlphanumeric01 - 25MThe text description of the transaction provided by the client. eg:GJGJ877HNGG (maximum 25 alphanumeric characters)
sendClientCodeNumeric10MThe send client’s transaction reference number. eg:1000009999
payoutCurrencyAlphanumeric with hyphens03 - 20MThe currency in which money is credited to the end receiver’s account. eg: BIF
payoutAmountNumeric with decimal01 - 16MThe amount that will be credited to the end receiver’s account. eg:16700.50,5666 (including decimal values)
destinationCountryCodeAlpha03MThe 3-dight country code of reciever end. eg: USA, SGP
settlement CurrencyAlphanumeric with hyphens03 - 15MThe currency used for internal settlement. eg:USD-USA, EUR
source CountryAlpha03M3-dight country code from where payment is initiated. eg: USA, SGP
fxRateValueNumeric with decimal01 - 16MThe current exchange rate w.r.t to the sending currency and receive currency. eg:2.50 (including decimal values)
senderMarginNumeric with decimal01 - 16MMargin applied by sending partner. eg:2.50 (including decimal values)

Requirement legend: M = Mandatory · O = Optional · C = Conditional

sender Req Param

ParametersInput TypeLengthRequirementDescription
isAutoRegisteredBoolean04 - 05Mtrue: in case of on the fly customer registration, false: in case of manual customer registration. eg: true
declarationBoolean04 - 05Mtrue: in case of on the fly customer registration, false: in case of manual customer registration. eg: true
docReferenceNumberAlphanumeric01 - 30MShould contains 10 to 30 digits alpha numeric only. eg:GJGJ877HNGG
senderFirstNameAlpha01 - 75MThe first name of the end customer sending money. eg: John
senderLastNameAlpha02 - 75MThe last name of the end customer sending money. eg: Sharma
senderGenderAlpha01 - 10Mmale, female or others. eg: male, female
senderNationalityAlpha03MNationality of sender in 3-dight country code format. eg: MWI, CHN
senderDOBDate10 - 19MSender's birth date in yyyy-mm-dd format. eg: 2012-09-08
senderEmailAlphanumeric + special characters (Email format)01 - 50OSender's email Id. eg: rahul123@gmail.com
senderIdTypeAlphanumeric06 - 10MData received for the respective value, using Document Id type master Api. eg: RHD006 IdTypeApi
senderIdNumberAlphanumeric01 - 50MThe unique no of given id type of the sender. eg: UTYYT544GH65
sender IdCountryAlpha03MThe three-letter country code that represents the country Id of the sender. eg: USA, MWI.
sender IssueDateDate10 - 19MThe issue date of the sender id registration in yyyy-mm-dd format. eg: 2025-10-01
senderId ExpirationDate10 - 19MThe expiry date of sender's given id in yyyy-mm-dd format. eg: 2025-10-01
dialCodeAlphanumeric with '+' symbol02 - 04CSender country dial code. eg: +1, +91 Note: Required when the contact number dial code does not match the selected country code.
senderMsisdnNumeric07 - 20MSender contact number. eg: 6667778787 note: The number must correspond to the selected country code.
senderOccupationAlphanumeric06 - 10OThe job profile of the sender. eg: RHO005 OccupationApi
senderAddressLineOneAlphanumeric01 - 35MThe address line for sender's address. eg: 45D Civil line (Special characters not allowed)
senderAddressLineTwoAlphanumeric01 - 35OThe address line for sender's address. eg: Vivek Vihar (Special characters not allowed)
senderCountryAlpha03MThe three-letter country code that represents the country of the sender. eg: USA, MWI.
senderAddress StateAlpha01 - 50MSender Registered State. eg: Haryana
senderAddresss CityAlpha01 - 50MSender Registered City. eg: Delhi
senderPinCodeAlphanumeric01 - 10MPincode of sender. eg: SDFC2345 (space not allowed)

Requirement legend: M = Mandatory · O = Optional · C = Conditional

receiver Req Param

ParametersInput TypeLengthRequirementDescription
receiverFirstNameAlpha01 - 75MThe first name of the end customer sending money. eg: John
receiverLastNameAlpha02 - 75MThe last name of the end customer sending money. eg: Sharma
receiverDOBDate10 - 19ODate of birth of receiver in yyyy-mm-dd format. eg: 2002-09-08
receiverGenderAlpha01 - 10Mmale, female or others. eg: male, female
receiverNationalityAlpha03MNationality of receiver in 3-dight country code format. eg: MWI, CHN
receiverIdTypeAlphanumeric06 - 10MThe id type of the receiver. eg: RHD006 IdTypeApi
receiverIdNumberAlphanumeric1 - 50MThe unique no of given id type of the receiver. eg: UTYYT544GH65
receiverId ExpirationDate10 - 19MThe expiry date of receiver's given id in yyyy-mm-dd format. eg: 2025-10-01
receiverOccupationAlphanumeric06 - 10OThe job profile of the receiver. eg: RHO005 OccupationApi
dialCodeAlphanumeric with '+' symbol02 - 04CReceiver country dial code. eg: +1, +91 Note: Required when the contact number dial code does not match the selected country code.
receiverMsisdnNumeric07 - 20MReceiver's contact number. eg: 9899898980
receiverAddressLineOneAlphanumeric01 - 35MThe address line for receiver's address. eg: 45D Civil line (Special characters not allowed)
receiverAddressLineTwoAlphanumeric01 - 35OThe address line for receiver's address. eg: Civil line (Special characters not allowed)
receiverCountryAlpha03MThe three-letter country code that represents the country of the receiver. eg: USA, MWI.
receiverAddress StateAlpha01 - 50Mreceiver Registered State. eg: Haryana
receiverAddresss CityAlpha01 - 50Mreceiver Registered City. eg: Delhi
receiverPinCodeAlphanumeric01 - 10OReceiver's address pincode. eg: SDFC2345 (space not allowed)
receiverServiceProviderNameAlphanumeric with hyphens01 - 50MReceiver's Service Provider Name. eg: ECOCASH-25701 WalletList
receiverServiceProviderCodeNumeric01 - 10MReceiver's Service Provider Code. eg: 25701 WalletList
receiverServiceProviderMobileNumeric07 - 20MReceiver's Service Provider Mobile no. eg: 771238165

Requirement legend: M = Mandatory · O = Optional · C = Conditional

compliance Req Param

ParametersInput TypeLengthRequirementDescription
compliance
forexQuoteIdNumeric06 - 10MThe specific quote Id to be used for the transaction. This quote Id is generated when a quotation is created and it is returned on the quotation response. eg: 123456 ("code" obtained in quotation api response)
remittancePurposeAlphanumeric06 - 10MReason for the transfer like Investment. eg:PAYP001 RemittancePurposeApi
sourceOfFundAlphanumeric06 - 10MSource of funds like Bank Deposit, Loan, and Revenue. eg:PAYS003 SourceOfFundApi
relationshipAlphanumeric06 - 10MThe relation between the sender and the receiver like Vendor, Employee, Employer, or Others. eg:PAYR001 RelationshipApi

Requirement legend: M = Mandatory · O = Optional · C = Conditional

Request Details

POST /services HTTP/1.0
HOST: XXX.XXX.XXX.XXX:Port
Content-Type: application/json; charset=utf-8
POST http://host/ewallet/api/v1/payoutProcess/api

{
"payout": {
"transactionInfo": {
"payinAmount": 3.93,
"payinCurrency": "USD-USA",
"type": "WPT",
"requestDate": "24-07-2025",
"paymentMode": "Cash",
"sendClientCode": "1000008494",
"payoutCurrency": "BIF",
"payoutAmount": "11112.00",
"settlementCurrency": "USD-USA",
"sourceCountry": "GHA",
"fxRateValue": "2826.45",
"senderMargin": "2826.45",
"destinationCountryCode": "BDI"
},
"sender": {
"customer": {
"isAutoRegistered": true,
"declaration": true,
"docReferenceNumber": "CUS1234567",
"senderFirstName": "John",
"senderLastName": "Doe",
"senderGender": "male",
"senderNationality": "MWI",
"senderDOB":"2012-09-08",
"senderIdType": "RHD006",
"senderIdNumber": "ID321322332",
"senderIssueDate": "2025-07-30",
"senderIdCountry": "MWI",
"senderIdExpiration": "2025-07-31",
"senderMsisdn": "9098987877",
"senderAddressLineOne": "malawi",
"senderAddressLineTwo": "malawi",
"senderCountry": "MWI",
"senderAddressState": "malawi",
"senderAddresssCity": "malawi",
"senderPinCode": "434343",
}
},
"receiver": {
"customer": {
"receiverMsisdn": "71238165",
"dialCode": "+257",
"receiverFirstName": "JANE",
"receiverLastName": "DOE",
"receiverGender": "male",
"receiverIdType": "RHD005",
"receiverIdNumber": "ID76558766",
"receiverIdExpiration": "2028-10-31",
"receiverNationality": "BDI",
"receiverAddressLineOne": "burundi",
"receiverCountry": "BDI",
"receiverAddressState": "burundi",
"receiverAddresssCity": "burundi",
"receiverServiceProviderName": "ECOCASH-25701",
"receiverServiceProviderCode": "25701",
"receiverServiceProviderMobile": "771238165"
}
},
"compliance": {
"forexQuoteId": "116175",
"remittancePurpose": "RHP003",
"sourceOfFund": "RHS001",
"relationship": "RHR004"
}
}
}

Registered Customer

In the case of already registered customers, the payout process becomes more streamlined since the system already holds verified sender information. Instead of providing complete sender details again, only a few key reference parameters are required to identify the registered entities within the system.

This approach reduces redundancy, improves efficiency, and ensures faster transaction initiation while maintaining compliance and traceability.

Rest request details remain same as mentioned above.

ParametersInput TypeLengthRequirementDescription
sender : customer
isAutoRegisteredBoolean05Mfalse
declarationBoolean05Mfalse
customerCodeNumeric10MThe respective code recieved after successful Customer registration. eg: 1000002345

Requirement legend: M = Mandatory · O = Optional · C = Conditional

Registered Customer Request Details

POST /services HTTP/1.0
HOST: XXX.XXX.XXX.XXX:Port
Content-Type: application/json; charset=utf-8
POST http://host/ewallet/api/v1/payoutProcess/api

{
"payout": {
"transactionInfo": {
"payinAmount": 3.93,
"payinCurrency": "USD-USA",
"type": "WPT",
"requestDate": "24-07-2025",
"paymentMode": "Cash",
"sendClientCode": "1000008494",
"payoutCurrency": "BIF",
"payoutAmount": "11112.00",
"settlementCurrency": "USD-USA",
"sourceCountry": "GHA",
"fxRateValue": "2826.45",
"senderMargin": "2826.45",
"destinationCountryCode": "BDI"
},
"sender": {
"customer": {
"isAutoRegistered": false,
"declaration": false,
"customerCode": "1000001104"
}
},
"receiver": {
"customer": {
"receiverMsisdn": "71238165",
"dialCode": "+257",
"receiverFirstName": "JANE",
"receiverLastName": "DOE",
"receiverGender": "male",
"receiverIdType": "RHD005",
"receiverIdNumber": "ID76558766",
"receiverIdExpiration": "2028-10-31",
"receiverNationality": "BDI",
"receiverAddressLineOne": "burundi",
"receiverCountry": "BDI",
"receiverAddressState": "burundi",
"receiverAddresssCity": "burundi",
"receiverServiceProviderName": "ECOCASH-25701",
"receiverServiceProviderCode": "25701",
"receiverServiceProviderMobile": "771238165"
}
},
"compliance": {
"forexQuoteId": "116175",
"remittancePurpose": "RHP003",
"sourceOfFund": "RHS001",
"relationship": "RHR004"
}
}
}

Response Parameter

ParametersData TypeRequirementDescription
requestTimeStringM
responseTimeStringM
resultCodeStringMThe unique code of the status of the transaction.
resultDescriptionStringMDescription of the status of the transaction.
PayoutResponseBean
transReferenceStringM
payinDateStringMThe payin date or transaction creation date.
clientReference NumberStringM
sendClientCodeStringM
senderNameStringMThe name of the sender.
senderNumberStringMThe mobile number of the sender.
beneficiaryNameStringMThe name of the beneficiary.
beneficiaryNumberStringMThe mobile number of the beneficiary.
beneficiaryBankStringMThe name of the end customers/company bank from which send client/company received the money.
accountNumberStringMCompany Account number/IBAN
payinCurrencyStringMThe payin or local currency from the end sender.
payinAmountStringMThe payin amount from the end sender.
payoutCurrencyStringMThe currency in which money is credited to the end receiver’s account.
payoutAmountStringMThe amount that will be credited to the end receiver’s account.
serviceTypeStringMThe harmonized Transaction Type, WPT.
statusStringM
senderMarginStringM
sendClientMarginValueStringM
beneficiaryAccountHolderNameStringM
sendClientNameStringM
senderCountryStringM
sendClientPhoneNumberStringM
sendClientAddress1StringM
customerIdStringM
customerCodeStringM
paymentModeStringMCash/Bank
descriptionTextStringMThe text description of the transaction provided by the client

Requirement legend: M = Mandatory · O = Optional · C = Conditional

Response Details

{
"requestTime": "Thu Aug 03 12:22:10 IST 2023",
"responseTime": "Thu Aug 03 12:22:10 IST 2023",
"resultCode": "0",
"resultDescription": "Transaction Successful",
"payoutResponseBean": {
"transReference": "197930",
"payinDate": "2023-08-03T12:22:10.904+0530",
"clientReferenceNumber": "REF1234567890",
"sendClientCode": "1000008340",
"senderName": "Example Trading Ltd",
"senderNumber": "5123456789",
"beneficiaryName": "Sample Exports Ltd",
"beneficiaryNumber": "123456789",
"beneficiaryBank": "Mizuho Bank,Ltd.-0001",
"accountNumber": "1234567",
"payinCurrency": "MWK",
"payinAmount": 100000.0,
"payoutCurrency": "JPY",
"payoutAmount": 10328.0,
"serviceType": "B2B",
"status": "In Process",
"senderMargin": 0.9899999999,
"sendClientMarginValue": 0.0,
"beneficiaryAccountHolderName": "Sample Exports Ltd ",
"sendClientName": "EXAMPLE",
"senderCountry": "Malawi",
"descriptionText": "invoice67676767",
"sendClientPhoneNumber": "533545636654",
"sendClientAddress1": "Malawi, Malawi",
"customerId": "100000000000001B",
"customerCode": "1000000850",
"paymentMode": "Cash",
}
}