UPI QR

Request Details

Parameter NameData TypeMandatoryDescription
merchantOrderIdStringYesUnique order ID generated by merchant
amountlongYesAmount of order in Paisa
contraintsList<InstrumentConstraint>NoDifferent type of constraints that must be applied to the payment

Example :

import {
CustomCheckoutClient, 
Env} 
from 'pg-sdk-node'

import { 
PgPaymentRequest, 
PgPaymentResponse } 
from 'pg-sdk-node';

import { v4 
as uuid } 
from 'uuid';
 

const clientId:string = "<clientId>";

const clientSecret:string = "<clientSecret>";

const clientVersion:number = 1;  //insert your client version here

const env = 
Env.SANDBOX;      //change to Env.PRODUCTION when you go live
 

const client = 
CustomCheckoutClient.
getInstance(clientId, clientSecret, clientVersion, env);
 

const merchantOrderId = 
uuid();

const amount = 100;

const deviceOS = 'IOS';
 

const request = 
PgPaymentRequest.
UpiQrRequestBuilder()
  .
amount(amount)
  .
deviceOS(deviceOS)
  .
merchantOrderId(merchantOrderId)
  .
build();
 
client.
pay(request).
then((response) => {
  
const qrData = response.qrData;
});

Extract the qrData from the response received

Response Details

PropertyTypeDescription
orderIdStringOrder Id created by PhonePe
stateStringState of the order. Initially it will be PENDING.
expireAtLongOrder expire date in epoch
IntentUrlStringIntent url for the amount mentioned
qrDataStringQR Data which will be used to generate the QR
Is this article helpful?