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

Header

ParameterDescriptionExample
x-api-key
mandatory
String This is a unique key.7fe1c0de
clientId
mandatory
String Uniquely identifies the client. During program enrolment each client is provided with a unique client id by Prepaid2000
bankId
mandatory
Numeric Bank Id is provided by Prepaid Aero during program enrolment to uniquely identify the card issuer.7000
entityId
mandatory
Numeric Defaults to parent branch i.e., 100100
secureCode
mandatory
String Uniquely identifies the client on payload level for performing operations.AfYtlO5kqdySIjXyNmGg3F

Body

ParameterDescriptionExample

Encrypted

token
mandatory
String Token is the Encrypted body of the below request AES-192-CBC bits EncryptionPl8F5kDZcvADIiursiA

Decrypted

messageCode
mandatory
Numeric Code to Identify load card request type.Character Limit - 41080
clientTxnId
mandatory
String Unique ID generated by the client for each transaction.Character Limit - 14GOUd789hhhjfscs
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 - 1420161031214559
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 - 13919888888888
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 - 2011001188721
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 - 1170000000008
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 - 20MOB5378a27c_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 - 16604010000445
receiver
mandatory
String Name of the merchant/account holder/wallet holder. Character Limit - 10Bank name(HDFC)Amazon,JustInPay
receiverAccount
optional
String Receiver account ID or number or wallet id or UPI VPA. Character Limit - 30XBC12345778
transactionAmount mandatoryNumeric It is the amount to be debited from customer’s card or wallet. It is in implied decimals by two digits. Character Limit - 12525
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 - 500If 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 - 10100
originalClientTxnId
conditional
String Unique ID generated by the client for each transaction. In case of refund we should send it. Character Limit - 50020150701235
959xhstiesqfds
refundFileId
optional
String Used to store the file related information for this request. Character Limit - 50020160704091
8424092qE9
3qKGGE3456.csv
fundFlowType
mandatory
String Used to store fundFlowType for Reload/Unload requests. Character Limit - 20O,I,IO,OR,IR,IOR
implIdString 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
beneficiaryIdString Basis valid beneficiary ID in this field, the P2P limit will be defined for that transaction.
receiverAccountTypeString Include the receiver account type.Wallet/account
sourceType
optional
Numeric Check the source type of funding. Character Limit - 2Wallet-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

ParameterDescriptionExample

Encypted

tokenToken is the Encrypted body of the below request AES-192-CBC bits Encryption Pl8F5kDZcvADIiursiAvv
bHNuL9Wv5eaFdorGVFU6F
KfIEnV/YskkzJlAov2ZHJ
WnqGNLOXfBq4SQqw8Ep4
sK0gCAAkRXATCb1nSY6s=

Decypted

messageCodeCode to Identify load response type1081
clientTxnIdValue copied from the requestGOUd789hhhjfscs
responseDateTimeResponse date time in the format YYYYMMDDHHMMSS with time in 24 hr format20161031214559
customerIdCustomer Id(entityCIF), which uniquely identifies the cardholder in the client system.
Conditional with mobile number and Urn.11001188721
responseCodeContains the status of the transaction. 00 indicates success. Please refer Appendix for other response codes0
responseMessageResponse message based on response code will be sentSuccess
urnA unique reference number for the generated card by Prepaid system70000000008
transactionAmountReload Amount passed with implied decimals by two digits210000
availableBalanceAvailable Balance in the wallet after successful reload with implied decimals with two digits210000
accosaRefNoAuto generated sequence number123212
availableCashLimitAvailable Cash limit. It will be 0 by default0

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
}