External Auth API

This section helps the client build the External Authorization API. External Authorization API is a client-hosted API called by the Prepaid system whenever an auth transaction occurs for client approval (external authorizer).

Prerequisites

  • Basis the approval/rejection from the client side, the response will be passed ahead with the network.
  • The client should make this API available all the time and the response should be well within the timeout time.
  • If the API does not respond withing the timeout time, then the issuer shall decline the transaction as timed-out.
  • The timeout time at Wibmo Prepaid is 2000 milliseconds.
  • The endpoint ending with <API_PATH> must be maintained by the client.

API / webhooks headers

ParameterTypeParameter RequirementDescription
X-Consumer-Custom-IDstring (15)MandatoryThis is the unique key to be shared with the client by Wibmo for the API environment exposure.
clientIdstring (15)MandatoryThis is the Unique ID for the client to be shared by Wibmo.
bankIdnumeric (4)MandatoryUnique ID to identify the issuer bank. Wibmo to share.

6060 - in case PayU is the issuer
entityIdnumeric (4)OptionalChild corporate/branch entity ID under the client. If not passed, it will default to the client's parent branch.

External authorization

API URL Path: api/v1/externalAuth

Type: POST

Request parameters

ParameterTypeParameter RequirementDescriptionSample value
customerIdstring(50)OptionalUnique customer ID for the customer in the Prepaid and client system.HRM0054454
urnstring(20)MandatoryUnique reference number for the customer.10000333
merchantNamestring(50)OptionalThe Merchant name of the transactionxyz
terminalIdstring(50)MandatoryTerminal ID1234
mccnumeric(10)OptionalPayee merchant category code5999
systemTraceAuditNumbernumeric(6)MandatorySTAN 6-digit unique internal audit number for the issuer162
cardNetworkstring(20)MandatoryCard schemeRUPAY
channelstring(10)MandatoryPOS, ECOM, ATM, POS-ContactlessATM
merchantIdstring(50)OptionalPayee merchant ID12
transactionAmountstring(15)MandatoryTransaction amount in implied decimals.20000
feestring(15)OptionalFee collected for the transaction in implied decimals.1000
transactionReferenceNumberstring(50)MandatoryTransaction Reference Number0200900780010618271700000123
currencyCodestring(3)OptionalIn ISO-4217 country currency code format. E.g., 356 for INR and 840 for USD356
last4Digitsstring(4)MandatoryLast four digits of the card number8689
originalRrnstring(30)OptionalRRN received from the network726474
billingCurrencystring(3)Conditional

For cross border transactions, billing currency and billing amount will be used.
Billing currency code in ISO-4217 country currency code format. E.g., 356 for INR and 840 for USD356
billingAmountstring(15)ConditionalBilling currency Amount in implied decimals.2000

Sample request

{
	"fee": "1000",
	"merchantName": "xyz",
	"terminalId": "1234",
	"mcc": 5999,
	"systemTraceAuditNumber": 900780,
	"entityId": "100",
	"cardNetwork": "RUPAY",
	"channel": "ATM",
	"merchantId": "12",
	"transactionAmount": "200000",
	"transactionReferenceNumber": "0200900780010618271700000123",
	"urn": "611930",
	"currencyCode": "356",
	"last4Digits": "1234",
	"orignialRrn": "726474",
	"customerId": "IN2016201611",
	"billingCurrency": "356",
	"billingAmount": "200000"
}

Response parameters

ParameterTypeParameter RequirementDescriptionSample value
responseCodestring(5)MandatoryResponse code as per the API response code table.00
responseDescriptionstring(100)MandatoryResponse description based on the responseCode.TRANSACTION_APPROVED
responseDateTimenumeric(14)MandatoryResponse timestamp in the format YYYYMMDDHHMMSS with time in 24 hr format.20161031214559
transactionAmountstring(15)MandatoryTransaction amount.20000
currencyCodestring(3)MandatoryEchoed from the request.356

Sample response

{
	"transactionAmount": "200000",
	"currencyCode": "356",
	"responseCode": "00",
	"responseDescription": "TRANSACTION_APPROVED",
	"responseDateTime": "20161031214559"
}

Response codes

📘

Note:

A proper response code should be sent in the response from the client. In case of any other scenario from the codes mentioned in the following table, `05` should be passed by default.

Response codeResponse description
00TRANSACTION_APPROVED
05DO_NOT_HONOR
14CARD_NOT_FOUND
34SUSPECTED_FRAUD
41LOST_CARD
43STOLEN_CARD
51NO_SUFFICIENT_FUNDS
61EXCEEDS_WITHDRAWAL_AMOUNT_LIMIT
65EXCEEDS_WITHDRAWAL_FREQUENCY_LIMIT