Unload API

This API is called by the client to create a debit transaction entry into the wallet. This API can be called during multiple user scenarios.

  • When the customer makes a payment to Merchant using available wallet balance.
  • When the customer transfers fund from wallet to account (Self or peer)

Client can raise this unload request basis Customer’s customer ID or mobile number or URN.

Environment: https://domain/mob1/api/onboarding/v1/debitAccount

HTTP Method: PATCH

📘

Note:

The domain will be shared once this move to respective environment.

Request parameters

Body

Parameter

Description

Example

Encrypted

token
mandatory

String Token is the Encrypted body of the below request AES-192-CBC bits Encryption

Pl8F5kDZcvADIiursiA

Decrypted

messageCode
mandatory

Numeric Code to Identify load card request type.Character Limit - 4

1080

clientTxnId
mandatory

String Unique ID generated by the client for each transaction.Character Limit - 14

GOUd789hhhjfscs

requestDateTime
mandatory

Numeric Local Date and time stamp when the transaction originated from the client in YYYYMMDDHHMMSS with time in 24 hr format. Character Limit - 14

20161031214559

customerMobile
conditional

Numeric Mobile number of the cardholder. Conditional with customer id and Urn i.e either one of them should be present. Please append 91 at the beginning of this field. Character Limit - 13

919888888888

customerId
conditional

String Customer Id (entityCIF), which uniquely identifies the cardholder in the client system. It is conditional with mobile number and URN, i.e., either one of them should be present. Character Limit - 20

11001188721

urn
conditional

String A unique reference number for the generated card. Need to share this in request body of the APIs. It is conditional with mobile number and Customer ID, i.e., either one of them should be present. Character Limit - 11

70000000008

subwalletId
conditional

String Specific Wallet ID to load the money to the wallet of the card. It is conditional with accountNumber (either one). Character Limit - 20

MOB5378a27c_1

accountNumber
conditional

Numeric Specific account Number to load the money to the wallet of the card. It is conditional with subwalletId (either one). Character Limit - 16

604010000445

receiver
mandatory

String Name of the merchant/account holder/wallet holder. Character Limit - 10

Bank name(HDFC)Amazon,JustInPay

receiverAccount
optional

String Receiver account ID or number or wallet id or UPI VPA. Character Limit - 30

XBC12345778

transactionAmount mandatory

Numeric It is the amount to be debited from customer’s card or wallet. It is in implied decimals by two digits. Character Limit - 12

525

unloadCurrency
optional

String Currency in which unload is taking place. Note: If this field is not provided by the client, then default option is INR only. Character Limit - 500

If this field is not provided by the client, then default option is INR only

fee
optional

Numeric Fee collected for the transaction. (Used only in debit Account Api (1480). It is in implied decimals by two digits.\Character Limit - 10

100

originalClientTxnId
conditional

String Unique ID generated by the client for each transaction. In case of refund we should send it. Character Limit - 500

20150701235
959xhstiesqfds

refundFileId
optional

String Used to store the file related information for this request. Character Limit - 500

20160704091
8424092qE9
3qKGGE3456.csv

fundFlowType
mandatory

String Used to store fundFlowType for Reload/Unload requests. Character Limit - 20

O,I,IO,OR,IR,IOR

implId

String Refer to IMPL Mapping List for the Impl ID and descriptions.

IR

implType
mandatory

String Refer to IMPL Mapping List for the IMPL type and descriptions.

P2M_W2A_O, P2M_W2A_O_R or P2P_W2A_I, P2P_W2A_I_R

pgNo
optional

String In case of PG load PG No will be capture.

Pg-122

orderId
optional

String In case of PG load order ID will be capture.

O12314

beneficiaryId

String Basis valid beneficiary ID in this field, the P2P limit will be defined for that transaction.

receiverAccountType

String Include the receiver account type.

Wallet/account

sourceType
optional

Numeric Check the source type of funding. Character Limit - 2

Wallet-0account-1

Sample request

Packet sample (Encrypted)

{
      “token”: “h/0YSUdGzgNsMcmfYAvIIPgF3Z80/kMJkW/7l9wG9L+bXt//P/HBG0NsuoPtbn6ugjzNOLl/wQPJFbCKMqQJtSSQs4JVYBohia1TPP1yJULHN+TLIVKFRZsg0GokTPI+ZKpNPcrKrQSa70qV/RtVWMv6CmqRHaG1gQvgAYKjNyOpip7G3Io5IDEF4b2cXOlH4G1hbOtjAHQ/7ZS9KrkmJA==”
} 

Packet sample (Decrypted)

{
"messageCode": "1480",
"clientTxnId": "GOUTddd0001561217",
"requestDateTime": "20220302153028", "urn": 70000000008,
"subWalletId": "MOB5378a27c_1", "transactionAmount": 10,
"receiver": "MOB1", "receiverAccountType": "wallet", "receiverAccount": " HDFC123445", "unloadCurrency": "RM",
"originalClientTxnId": "", "sourceType": 0,
"implId": "O|70000", "implType": "P2M_W2A_O", "fundFlowType": "O", "pgNo": "PgNo-1", "orderId": "Order2", "beneficiaryId": 1102313, "fee": 0
}

Response parameters

Parameter

Description

Example

Encypted

token

Token is the Encrypted body of the below request AES-192-CBC bits Encryption

 Pl8F5kDZcvADIiursiAvv
bHNuL9Wv5eaFdorGVFU6F
KfIEnV/YskkzJlAov2ZHJ
WnqGNLOXfBq4SQqw8Ep4
sK0gCAAkRXATCb1nSY6s=

Decypted

messageCode

Code to Identify load response type

1081

clientTxnId

Value copied from the request

GOUd789hhhjfscs

responseDateTime

Response date time in the format YYYYMMDDHHMMSS with time in 24 hr format

20161031214559

customerId

Customer Id(entityCIF), which uniquely identifies the cardholder in the client system.

Conditional with mobile number and Urn.

11001188721

responseCode

Contains the status of the transaction. 00 indicates success. Please refer Appendix for other response codes

0

responseMessage

Response message based on response code will be sent

Success

urn

A unique reference number for the generated card by Prepaid system

70000000008

transactionAmount

Reload Amount passed with implied decimals by two digits

210000

availableBalance

Available Balance in the wallet after successful reload with implied decimals with two digits

210000

accosaRefNo

Auto generated sequence number

123212

availableCashLimit

Available Cash limit. It will be 0 by default

0

API error code

Error CodeDescription
00SUCCESS
1009CARD_CANCELLED_CLOSED_EXPIRED
1010CARD_TEMPORARY_BLOCK
1012CARD_PENDING_CANCELLATION
1013AML_MIN_LIMIT
1030INVALID_MESSAGE
1045UNABLE_TO_PROCESS_REQUEST
1045UNABLE_TO_PROCESS_REQUEST
1056INVALID MESSAGE CODE
1058INVALID_WALLETS
1093INVALID CLIENT TXN ID
1101UNKNOWN_SOURCE_ACCOUNT_TYPE
1102UNKNOWN_DESTINATION_ACCOUNT_TYPE
1117CARD_DEBIT_BLOCK
1118CARD_CREDIT_BLOCK
1121CARD_CREDIT_DEBIT_BLOCK
1128INVALID_TRACE_NUMBER
1135REFUND_AMOUNT_GREATER_THAN_ORIGINAL_TXN_AMOUNT
1246ORIGINAL_TXN_NOT_EXIST
1247SOURCE_ACC_TYPE_NOT_MACHED_WITH_IMPL
1303CUSTOMER DETAILS NOT PRESENT
1304MORE THAN ONE CUSTOMER IDENTIFIER NOT ALLOWED
1313AML MIN LIMIT
1322TRANSACTION AMOUNT CANNOT BE ZERO
1325FUND FLOW TYPE MISMATCH
1326IMPL ID MISMATCH
1354CORPORATE_LEVEL_LIMIT_EXCEEDED
1363INVALID ACTIVITY STATUS
1366PROGRAM IS INACTIVE
1368PROGRAM NOT FOUND
1376INVALID UNLOAD AMOUNT
1501SYSTEM_ERROR_DB
1504SYSTEM_CACHE_FAILURE
3007UNLOAD AMOUNT SHOULD BE LESS THAN AVAILABLE BALANCE
10153AMOUNT IS NOT WITHIN MIN-MAX RANGE
10163PROGRAM DAILY LIMIT EXCEEDED

HTTP status code

HTTP Status CodeHTTP Status Description
200OK
400Bad Request
401Unauthorized
500Internal Server Error
403Forbidden
404Not Found
503Service Unavailable

Sample response

Response packet sample (Encrypted)

{
      “token”: “h/0YSUdGzgNsMcmfYAvIIPgF3Z80/kMJkW/7l9wG9L+bXt//P/HBG0NsuoPtbn6ugjzNOLl/wQPJFbCKMqQJtSSQs4JVYBohia1TPP1yJULHN+TLIVKFRZsg0GokTPI+ZKpNPcrKrQSa70qV/RtVWMv6CmqRHaG1gQvgAYKjNyOpip7G3Io5IDEF4b2cXOlH4G1hbOtjAHQ/7ZS9KrkmJA==”
} 

Response packet sample (Decrypted)

{
"urn": 70000000008, "customerId": "130172", "responseCode": "00", "messageCode": 1481, "clientTxnId": "Testram22",
"accosaTransactionId": 2881, “responseDateTime”: "20230803120640",
"responseMessage": "SUCCESS", "accosaRefNo": "41349", "availableBalance": 500, "availableCashLimit": 0, "transactionAmount": 500
}