UPI Collect

Use this flow to initiate a UPI collect request to the customer’s UPI Number. Before creating a collect request, you must validate the VPA or UPI number. Please refer the link to validate the VPA or UPI.

EnvironmentHTTP MethodAPI
SandboxPOSThttps://api-preprod.phonepe.com/apis/pg-sandbox/payments/v2/pay
ProductionPOSThttps://api.phonepe.com/apis/pg/payments/v2/pay
Request Header
Header NameHeader ValueDescription
Content-Typeapplication/jsonAccepts Json Payload.
AuthorizationO-Bearer <access_token>Pass access_token received in Authorization call
Request Parameters
Parameter NameData TypeMandatoryDescriptionConstraints
detailsObjectYesObject containing collect payment details.
details.typeStringYesType of collect payment details. Allowed Values:
VPA
UPI_NUMBER
details.vpaStringYesVPA against which collect request need to be raised (Use when type = VPA)
details.upiNumberStringYesUPI Number against which collect request need to be raised (Use when type = UPI_NUMBER)
messageStringYesMessage to show in collect request.
merchantOrderIdStringYesUnique merchant order id generated by merchant.Max Length = 63 charactersNo Special characters allowed except underscore “_” and hyphen “-“
amountLongYesOrder amount in paisa.Min Value = 100 (In paise)
expireAfterLongNoOrder expiry in seconds. If not passed default value will be used.Min Value = 300, Max Value = 5184000

Default Value (in Secs):
UPI QR: 480
UPI Intent : 600
UPI Collect: 480
Card : 720
NetBanking : 480
metaInfoObjectNoMerchant defined meta info to store additional information.same data will be returned in status and callback response.
metaInfo.udf1-5StringNoMerchant defined additional informationMax length = 256 characters 
deviceContext.deviceOSStringYesdevice OS required only in case of UPI_INTENTValues Allowed = [IOS, ANDROID]
deviceContext.merchantCallBackSchemeStringYesMerchant Callback Scheme. Required only in case targetApp = PHONEPE and deviceContext.deviceOS = IOS
paymentFlowObjectYesAdditional details required by this flow.
paymentMode.typeStringYesType of payment modeValues Allowed:
UPI_INTENT
UPI_COLLECT
UPI_QR
NET_BANKING
TOKEN
CARD
merchantUrls.redirectUrlStringYesUrl where user will be redirected after completing the payment. Mandatory only for [NET_BANKING, TOKEN, CARD] Payment Mode.Valid Http url. 

UPI Collect With VPA

headers
body params

UPI Collect With UPI Number

body params
Sample Response
{
    "orderId": "OMO123456789",
    "state": "PENDING",
    "expireAt": 1703756259307
}
Field NameData TypeDescription
orderIdStringPG generated internal order id.
stateStringState of the order created, Expected value is CREATED.
expiryAtLongOrder expiry date in epoch (in milliseconds).
Is this article helpful?