EMV QR Transaction API

This API can be used by the Issuer’s Mobile App Server to send an EMVCo based QR purchase transaction to the Credit+ Issuing system. Credit+ Issuing validates the request parameters along with the Mobile PIN validation results. This API is applicable for prepaid, credit and debit cards issued on the Pine Labs platform. If the validation issuccessful, Credit+ Issuing further authorizesthe transaction for credit and prepaid cards. For debit cards, it routes the transaction to the Core Banking System (CBS) for authorization. The issuing bank can enable the QR code based purchase option for the cardholder using this API resource. This additional method of capturing transactions leads to better customer experience and is an additionalsource of revenue generation for the issuer.

HTTP Status and Response Status Matrix

  • HTTP Code: This is the response status code issued by a server in response to a client's request made to the server.
  • Error Code: This is the error code returned by Credit+ Issuing application in the ‘code’ field of the response message indicating if the request was processed successfully or failed.
  • Reason: This is the description of the error code returned by Credit+ Issuing application.
HTTP CodeError CodeReasonDetails
201000Successful
408912Forward offset time limit violated
408914Backward offset time limit violated
400997Message Type field is mandatory
400997Invalid Message Type
400997Transaction Type field is mandatory
400997Invalid Transaction Type
400997POS Data field is mandatory
400997Invalid POS Data
400997Transaction Amount field is mandatory
400997Transaction Amount field value must have size 12
400997Transaction Amount field must be a positive value with maximum 12 integers and 0 fractions
400997Surcharge Fee field value must have size 9
400997Invalid Surcharge Fee
400997Transmission Date Time field is mandatory
400997Transmission Date Time field must be in MMddHHmmss format
400997Trace Audit Number field is mandatory
400997Trace Audit Number field should be Number
400997Trace Audit Number field value must have size 6
400997Transaction Local Date field is mandatory
400997Transaction Local Date field must be in yyMMddHHmmss format
400997Acquiring Country Code field is mandatory
400997Acquiring Country Code field value must have max length 3
400997Acquiring Institution Code field is mandatory
400997Acquiring Institution Code field value must have max length 6
400997Retrieval Reference Number field is mandatory
400997Retrieval Reference Number field value must have max length 12
400997Retrieval Reference Number field should be Number
400997Terminal Type field is mandatory
400997Invalid Terminal Type
400997PIN Verification field is mandatory
400997Invalid PIN Verification
400997Channel field is mandatory
400997Invalid Channel
400997Card Acceptor Terminal ID field is mandatory
400997Card Acceptor Terminal ID field value must have size 8
400997Card Acceptor Code field is mandatory
400997Card Acceptor Code field value must have size 15
500TRANSACTION_PROCESSING_TIMEOUTThe transaction processing has got timed out. Please try after some timeA reversal entry would be created for the transaction only if the processing is successful
500TRANSACTION_PROCESSING_FAILUREThe transaction cannot be processed. Please try after some time
400994Invalid Encryption-Algorithm header value
400994Invalid Encryption Request Parameters
400994Cryptography error
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
enum
required

Message type indicator (MTI) of the financial transaction request. Fixed value is 1200.

Allowed:
string
required
length ≤ 24
^[0-9]+$

Card number. Maximum length: 24.

string
enum
required

Transaction type. Fixed value is 280000. Position 1 and 2 (28): Pine Labs Merchant Presented QR (MPQR), Positions 2 and 3 (00): 'From Account' Type, Positions 3 and 4 (00): 'To Account' Type.

Allowed:
string
required
^[0-9]{1,12}$

Transaction amount. Must be a positive value with maximum twelve integers and zero fractions.

string
length ≤ 9
^[CD][0-9]{8}$

Surcharge fee if applied for the transaction with the sign. It has two parts: Fee Sign: C or D (fixed value); C: Credit, D: Debit. Format: Alpha character of length 1 followed by numeric with length 8 left padded with 0s. For example, if the applied surcharge fee is 8, then the value is: D00000008.

string
required
length between 6 and 6
^[0-9]{6}$

A number assigned by the originator of a transaction to uniquely identify a transaction throughout its life. Fixed length: 6.

string
required
length ≤ 12
^[0-9]+$

A unique authorization reference number (Reference Retrieval Number) used to retrieve the original transaction data. Maximum length: 12.

string
required
^(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])([0-5]\d)([0-5]\d)$

Transaction date and time in GMT time zone. Must be in MMDD and hhmmss 24 hour format.

string
required
^\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])([0-5]\d)([0-5]\d)$

Transaction date and time in its local time zone. Must be in yymmdd and hhmmss 24 hour format.

string
enum
required

POS entry mode. Fixed value: 000000100001.

Allowed:
string
required
length ≤ 3
^[0-9]{3}$

Transaction acquiring institution’s ISO country code. It is used to validate if the transaction is domestic or international. Maximum length: 3.

string
required
length between 6 and 6
^[0-9]{6}$

Institution Code identifying the acquirer. Fixed length: 6 as per ISO standard. The values assigned by the interchange for DE32 and DE33 must be configured on the Card Management > Institution Parameter Setup > Network Membership screen.

string
enum
required

Terminal type. Fixed value: ITB (Internet Banking).

Allowed:
string
enum
required

Mobile Banking Personal Identification Number (MPIN) verification. Valid values: 1: MPIN Verification Successful, 0: MPIN Verification failed. The system proceeds with transaction authorization only if the verification is successful.

Allowed:
string
required
^[a-zA-Z0-9]+$

EMVCo Quick Response (QR) Code String. A QR Code is an ISO 18004-compliant encoding and visualization of data.

string
enum
required

Delivery Channel Controller ID (three character code identifying the controller). Fixed value: MOB (Mobile).

Allowed:
string
required
length ≤ 8
^[a-zA-Z0-9]+$

Terminal ID of the POS terminal at the merchant location. Maximum size: 8 as per ISO standard.

string
required
length ≤ 15
^[0-9]+$

Identification code of acquiring entity. Maximum size: 15 as per ISO standard.

string
required
^[0-9]+$

Current UTC timestamp in milliseconds. Should be in between backward and forward limit offset. AES key expiration criteria depends on input UTC timestamp.

Headers
string
^[a-zA-Z0-9-]{1,50}$

API Consumer must share Correlation-ID in HTTP header for API requests. The Correlation-ID must be unique for each request. It is recommended to generate a universally unique identifier (UUID) of length 32 or 36 that is compliant with RFC 4122. The maximum supported length is 50 alphanumeric characters. For example, ac97d177-9345-4934-8343-0f91a7a02836. If the Correlation-ID is not received in the incoming request, the system generates the UUID dynamically and assigns it to the request.

string
enum
required

API Consumer must share Encryption-Algorithm as a key (value: DES168) in HTTP header in order to encrypt the API requests.

Allowed:
string

API Consumer can share Source in HTTP header for API requests. For the list of Source values, see the Pre-conditions for HTTP Header of REST API topic in the Pre-requisite for Rest API section.

Response

Language
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json