openapi: 3.2.0 info: title: 1 Icp API version: '1' servers: - url: https://api.zwitch.io security: - sec0: [] tags: - name: Icp paths: /icp/upi/intent: post: summary: UPI QR & Intent String description: The **UPI Intent API** enables merchants to generate UPI intent links & QR string using a valid `payment_token_id`. operationId: upi-qr-intent-string parameters: - name: Access-Key in: header description: Provide the PG API Access Key here required: true schema: type: string requestBody: content: application/json: schema: type: object required: - amount - contact_number - email_id - currency - mtx properties: amount: type: string description: The amount of transaction contact_number: type: string description: Mobile number of the customer. Please make sure you are passing actual customer mobile number. If you pass a hardcoded value, if the customer doesn't change the mobile number from layer the transaction will appear with hardcoded mobile number and name associated with it. email_id: type: string description: Email Id of the customer currency: type: string description: INR mtx: type: string description: Reference id for the transaction. This should be unique for each transaction. udf: type: object description: 'Merchant can pass extra parameters in the request which they require in the response. Key-value pair that can be used to store additional information about the entity.Example: `"key_1": "DD”`' properties: key_1: type: string key_2: type: string examples: UPI Intent Creation: value: amount: '5.00' currency: INR email_id: test@bankopen.co contact_number: '9000000000' mtx: test112127 udf: invoice_id: INV_0001 shipment_track_id: DELHIVERY_523E3256 responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"status\": \"success\",\n \"message\": \"UPI QR Strings generated successfully\",\n \"data\": {\n \"transaction_id\": \"pt_Aa68F7844592533\",\n \"amount\": \"5.00\",\n \"currency\": \"INR\",\n \"merchant_id\": \"me_f4063391a9\",\n \"upi_intent_links\": {\n \"collect_pay\": {\n \"instrument_id\": 76,\n \"amount\": \"5.00\"\n },\n \"intent\": {\n \"instrument_id\": 75,\n \"qr_string\": \"upi://pay?pa=open9962527334907@yesbank&pn=MFK%20Associates&tr=int_pt_Aa68F7844592533&am=5.00&cu=INR&tn=UPI%20Intent%20Transaction&mc=7299\",\n \"intent_apps\": [\n {\n \"label\": \"Google Pay\",\n \"intent\": \"gpay\",\n \"qr_string\": \"gpay://upi/pay?pa=open9962527334907@yesbank&pn=MFK%20Associates&tr=int_pt_Aa68F7844592533&am=5.00&cu=INR&tn=UPI%20Intent%20Transaction&mc=7299\"\n },\n {\n \"label\": \"Paytm\",\n \"intent\": \"paytmmp\",\n \"qr_string\": \"paytmmp://pay?pa=open9962527334907@yesbank&pn=MFK%20Associates&tr=int_pt_Aa68F7844592533&am=5.00&cu=INR&tn=UPI%20Intent%20Transaction&mc=7299\"\n },\n {\n \"label\": \"PhonePe\",\n \"intent\": \"phonepe\",\n \"qr_string\": \"phonepe://pay?pa=open9962527334907@yesbank&pn=MFK%20Associates&tr=int_pt_Aa68F7844592533&am=5.00&cu=INR&tn=UPI%20Intent%20Transaction&mc=7299\"\n },\n {\n \"label\": \"Amazon Pay\",\n \"intent\": \"amazonpay\",\n \"qr_string\": \"amazonpay://upi/pay?pa=open9962527334907@yesbank&pn=MFK%20Associates&tr=int_pt_Aa68F7844592533&am=5.00&cu=INR&tn=UPI%20Intent%20Transaction&mc=7299\"\n },\n {\n \"label\": \"CRED\",\n \"intent\": \"cred\",\n \"qr_string\": \"credpay://upi/pay?pa=open9962527334907@yesbank&pn=MFK%20Associates&tr=int_pt_Aa68F7844592533&am=5.00&cu=INR&tn=UPI%20Intent%20Transaction&mc=7299\"\n }\n ]\n },\n \"qr\": {\n \"instrument_id\": 74,\n \"qr_string\": \"upi://pay?pa=open9962527334907@yesbank&pn=MFK%20Associates&tr=qr_pt_Aa68F7844592533&am=5.00&cu=INR&tn=UPI%20QR%20Transaction&mc=7299\"\n }\n }\n }\n}" schema: type: object properties: status: type: string example: success message: type: string example: UPI QR Strings generated successfully data: type: object properties: transaction_id: type: string example: pt_Aa68F7844592533 amount: type: string example: '5.00' currency: type: string example: INR merchant_id: type: string example: me_f4063391a9 upi_intent_links: type: object properties: collect_pay: type: object properties: instrument_id: type: integer example: 76 default: 0 amount: type: string example: '5.00' intent: type: object properties: instrument_id: type: integer example: 75 default: 0 qr_string: type: string example: upi://pay?pa=open9962527334907@yesbank&pn=MFK%20Associates&tr=int_pt_Aa68F7844592533&am=5.00&cu=INR&tn=UPI%20Intent%20Transaction&mc=7299 intent_apps: type: array items: type: object properties: label: type: string example: Google Pay intent: type: string example: gpay qr_string: type: string example: gpay://upi/pay?pa=open9962527334907@yesbank&pn=MFK%20Associates&tr=int_pt_Aa68F7844592533&am=5.00&cu=INR&tn=UPI%20Intent%20Transaction&mc=7299 qr: type: object properties: instrument_id: type: integer example: 74 default: 0 qr_string: type: string example: upi://pay?pa=open9962527334907@yesbank&pn=MFK%20Associates&tr=qr_pt_Aa68F7844592533&am=5.00&cu=INR&tn=UPI%20QR%20Transaction&mc=7299 '403': description: '403' content: application/json: examples: Result: value: "{\n \"message\": \"Signature mis-match\",\n \"status\": 403\n}" schema: type: object properties: message: type: string example: Signature mis-match status: type: integer example: 403 default: 0 '422': description: '422' content: application/json: examples: Result: value: " {\n \"error\": \"unprocessable request\",\n \"error_code\": \"VAL_ERR\",\n \"request_id\": \"appreq_f168F78494387e9\",\n \"error_data\": {\n \"mtx\": [\n \"mtx already used\"\n ]\n }\n}" schema: type: object properties: error: type: string example: unprocessable request error_code: type: string example: VAL_ERR request_id: type: string example: appreq_f168F78494387e9 error_data: type: object properties: mtx: type: array items: type: string example: mtx already used deprecated: false tags: - Icp components: securitySchemes: sec0: type: apiKey name: Authorization in: header x-bearer-format: bearer x-default: '' x-readme-fauxas: true x-provenance: method: searched source: https://developers.zwitch.io/reference harvested: '2026-10-14' tool: harvest-readme-openapi.py note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored. assembled_from: - https://developers.zwitch.io/reference/accounts-get-all.md - https://developers.zwitch.io/reference/accounts-get-balance.md - https://developers.zwitch.io/reference/accounts-get-by-id.md - https://developers.zwitch.io/reference/accounts-get-statement.md - https://developers.zwitch.io/reference/accounts-virtual-deactivate.md - https://developers.zwitch.io/reference/accounts-virtual-test-balance.md - https://developers.zwitch.io/reference/bank-account-verification-copy-1.md - https://developers.zwitch.io/reference/batch-refund-api.md - https://developers.zwitch.io/reference/beneficiaries-bank-account-create.md - https://developers.zwitch.io/reference/beneficiaries-delete.md - https://developers.zwitch.io/reference/beneficiaries-get-all.md - https://developers.zwitch.io/reference/beneficiaries-get-by-id.md - https://developers.zwitch.io/reference/beneficiaries-update.md - https://developers.zwitch.io/reference/constants-business-categories.md - https://developers.zwitch.io/reference/constants-business-types.md - https://developers.zwitch.io/reference/constants-ifsc.md - https://developers.zwitch.io/reference/constants-state-codes.md - https://developers.zwitch.io/reference/create-payment-token.md - https://developers.zwitch.io/reference/get-all-sub-accounts.md - https://developers.zwitch.io/reference/get-sub-account-by-id.md - https://developers.zwitch.io/reference/requery-batch-refund.md - https://developers.zwitch.io/reference/status-check-api-with-payment_token.md - https://developers.zwitch.io/reference/transfers-bulk-by-id.md - https://developers.zwitch.io/reference/transfers-bulk-create.md - https://developers.zwitch.io/reference/transfers-bulk-get-all.md - https://developers.zwitch.io/reference/transfers-get-all.md - https://developers.zwitch.io/reference/transfers-get-by-id.md - https://developers.zwitch.io/reference/transfers-virtual-accounts-create-to-account-beneficiary.md - https://developers.zwitch.io/reference/update-sub-account.md - https://developers.zwitch.io/reference/upi-qr-intent-string.md - https://developers.zwitch.io/reference/verifications-bank-account-create.md - https://developers.zwitch.io/reference/verifications-name-create.md - https://developers.zwitch.io/reference/verifications-pan-create.md - https://developers.zwitch.io/reference/verifications-vpa-create.md - https://developers.zwitch.io/reference/webhooks-get-all-events.md merge: pages: 35 deduped: 34 conflicts_kept_first: 1