{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"9148d06f-d7d9-4b78-b74d-50ef292f0a82","name":"Payin","description":"##### Instructions for Integration:\n\n1. Value in each section will be encrypted value generated in following way. Only me_id (Merchant ID) will be in plain text.\n2. Each attribute in every section are combined together separated with pipe (|) symbol. For e.g. ag_id|me_id|order_no|amount|country|currency|txn_type|success_url|failure_url|channel\n3. Now this entire string should be encrypted using the encryption logic provided to you. This will become the value for that section. In the same format you have to encrypt the value in every parameter.\n4. Please note that you have to pass blank value along with pipe symbol in each section even if it is optional.  \n    For e.g. In cust_details section if only email is available then value will become – |test@test.com|||  \n    If there is no single value in pg_details section then its value will become |||\n5. Transactions are only permitted through registered merchant domains. If “localhost” or local IP is not permitted, you will get “Invalid Referral URL.” error in such case.\n6. We will provide encryption and decryption sample format\n    \n\n##### Request Parameters:\n\nMerchant must send the following parameters for processing an order.  \nAPIs use authorization to ensure that client requests access data securely. The authentication endpoint requires Basic Auth Bearer tokens in the Authorization header. Section: Txn_Details(Required Parameters)\n\n| Parameter Name | Attribute Type | Constraints | Description |\n| --- | --- | --- | --- |\n| Section: txn_details |  |  |  |\n| ag_id | String | Required  <br>Max 20 characters | Aggregator id is “payglobal”. |\n| me_id | String | Required  <br>Max 20 characters | Merchant ID issued to you. |\n| order_no | String | Required  <br>Max 70 characters | This is your Unique Transaction ID for which you want to initiate payment. |\n| amount | Numeric | Required  <br>Max 10 digits | This is your Transaction Amount. You can use up to 2 decimal places. E.g., “120.00”. |\n| country | String | Required  <br>Exact 3 characters | Country code as “IND” for India. |\n| currency | String | Required  <br>Exact 3 characters | Currency code as “INR” for India.  <br>If paymode BC then settlement currency (USD, BTC, etc.). |\n| txn_type | String | Required  <br>Max 10 characters | Use Txn_Type as “SALE”. |\n| success_url | String | Required  <br>Max 100 characters | This will be the return URL where response is accepted in successful transaction. |\n| failure_url | String | Required  <br>Max 100 characters | This will be the return URL where response is accepted in failed transaction. |\n| channel | String | Required  <br>Max 10 characters | Use “WEB” in case of website-based payment, “MOBILE” in case of mobile app, or “BTC” in case of blockchain payment. |\n|  |  |  |  |\n| Section: pg_details |  |  |  |\n| pg_id | Integer | Conditional  <br>Max 3 digits | List will be provided to you. This is only required if your integration type is “Merchant Hosted”. E.g., “1” for HDFC Bank. |\n| paymode | String | Conditional  <br>Exact 2 characters | This is only required if your integration type is “Merchant Hosted”.  <br>NB = Net Banking  <br>CC = Credit Card  <br>DC = Debit Card  <br>PP = Prepaid Card  <br>WA = Wallet  <br>CE = Credit Card EMI  <br>UP = UPI  <br>UI = (UPI Intent)  <br>BC = Block Chain |\n| scheme | Integer | Optional  <br>Max 3 digits | List will be provided to you. This is only required if your integration type is “Merchant Hosted”. E.g., “1” for VISA. |\n| emi_months | Integer | Conditional  <br>Max 3 digits | This is only required if your integration type is “Merchant Hosted” and paymode is Credit Card EMI. Values can be 3, 6, 9, or 12. |\n|  |  |  |  |\n| Section:card_details |  |  |  |\n| card_no | Integer | Conditional  <br>Max 19 digits | Card Number. This is only required if your paymode is “CC”, “DC”, “PP”, or “CE”. |\n| exp_month | String | Conditional  <br>Exact 2 characters | Expiry Month on the card in MM format. |\n| exp_year | String | Conditional  <br>Exact 2 characters | Expiry Year on the card in YY format. |\n| cvv2 | Integer | Conditional  <br>Exact 3 digits | CVV2 on the back of the card. |\n| card_name | String | Optional  <br>Max 50 characters | Name on the card. |\n|  |  |  |  |\n| Section:cust_details |  |  |  |\n| cust_name | String | Conditional  <br>Max 50 characters | Customer Name. This is required in case you require fraud protection. |\n| email_id (Mandatory) | String | Conditional  <br>Max 100 characters | Customer’s Email ID. This is required in case you require fraud protection. |\n| mobile_no (Mandatory) | String | Conditional  <br>Max 15 characters | Customer’s Mobile Number. This is required in case you require fraud protection. |\n| unique_id | String | Conditional  <br>Max 100 characters | Customer’s Unique ID. This is required in case of the stored card feature. This can be the user ID of the customer in your system or an email ID that uniquely identifies the customer. |\n| is_logged_in | String | Optional  <br>Max 1 character | Pass “Y” if the user is logged in. Pass “N” for a guest user. |\n|  |  |  |  |\n| Section:Bill_details |  |  |  |\n| bill_address | String | Conditional  <br>Max 200 characters | Customer’s Billing Address. This is required in case you require fraud protection. |\n| bill_city | String | Conditional  <br>Max 50 characters | Customer’s Billing City. This is required in case you require fraud protection. |\n| bill_state | String | Conditional  <br>Max 50 characters | Customer’s Billing State. This is required in case you require fraud protection.  <br>If paymode is BC, use state 2-letter code for US/Canada, or a 2/3-letter code for Australia. |\n| bill_country | String | Conditional  <br>Max 50 characters | Customer’s Billing Country. This is required in case you require fraud protection.  <br>If paymode is BC, use the Country ISO 3166 2-digit code. |\n| bill_zip | String | Conditional  <br>Max 20 characters | Customer’s Billing Zip/Pin Code. This is required in case you require fraud protection. |\n|  |  |  |  |\n| Section:Ship_details |  |  |  |\n| ship_address | String | Conditional  <br>Max 200 characters | Customer’s Shipping Address. This is required in case of physical delivery of goods. |\n| ship_city | String | Conditional  <br>Max 50 characters | Customer’s Shipping City. This is required in case of physical delivery of goods. |\n| ship_state | String | Conditional  <br>Max 50 characters | Customer’s Shipping State. This is required in case of physical delivery of goods. |\n| ship_country | String | Conditional  <br>Max 50 characters | Customer’s Shipping Country. This is required in case of physical delivery of goods. |\n| ship_zip | String | Conditional  <br>Max 20 characters | Customer’s Shipping Zip/Pin Code. This is required in case of physical delivery of goods. |\n| ship_days | Integer | Optional  <br>Max 3 digits | Approximate number of days required for delivery of goods. This is required in case of physical delivery of goods. |\n| address_count | Integer | Optional  <br>Max 3 digits | If the customer has more than one address stored in your system. |\n|  |  |  |  |\n| Section: Item details |  |  |  |\n| item_count | Integer | Optional  <br>Max 3 digits | Count of items purchased by the customer. |\n| item_value | String | Optional  <br>Max 200 characters | Comma-separated item-wise cost. E.g., “100.00,200.00”. |\n| item_category | String | Optional  <br>Max 200 characters | Comma-separated item categories. E.g., “E-Book,DVD”. |\n|  |  |  |  |\n| Section:Other_details |  |  |  |\n| udf_1 | String | Optional  <br>Max 100 characters | This is a user-defined field that you can use to send any additional information about the transaction. |\n| udf_2 | String | Optional  <br>Max 100 characters | This is a user-defined field that you can use to send any additional information about the transaction. |\n| udf_3 | String | Optional  <br>Max 100 characters | This is a user-defined field that you can use to send any additional information about the transaction. |\n| udf_4 | String | Optional  <br>Max 100 characters | This is a user-defined field that you can use to send any additional information about the transaction. |\n| udf_5 | String | Optional  <br>Max 100 characters | This is a user-defined field that you can use to send any additional information about the transaction. |\n|  |  |  |  |\n| Section: vpa_address | String | Conditional  <br>Max 100 characters | This is only required if your integration type is “Merchant Hosted” and paymode is UP. This value should be encrypted individually. UI = (UPI Intent) - Then not required |\n\n##### Response Parameters:\n\nWe will return following parameters:\n\n| Name | Attribute Type | Constraints | Description |\n| --- | --- | --- | --- |\n| ag_id | String | Required, Max 10 characters | Aggregator ID. Use “payglobal” here. |\n| me_id | String | Required, Max 10 characters | This is the Merchant ID issued to you. |\n| order_no | String | Required, Max 20 characters | This is your Transaction ID for which you have initiated payment. |\n| amount | Numeric | Required, Max 10 digits | This is your Transaction Amount. |\n| country | String | Required, Exact 3 characters | ISO country code. E.g. “IND” for India. |\n| currency | String | Required, Exact 3 characters | ISO currency code. E.g. “INR” for India. |\n| txn_date | String | Required, Exactly 10 characters | Format DD-MM-YYYY. E.g. 26-11-2015 |\n| txn_time | String | Required, Exactly 8 characters | Format HH:MM:SS. E.g. 23:30:50 |\n| ag_ref | String | Required, Max 20 characters | This is Transaction ID generated by aggregator for which you have initiated payment. |\n| pg_ref | String | Optional, Max 20 characters | This is Transaction ID generated by gateway for which you have initiated payment. |\n| status | String | Required, Max 20 characters | “Successful”, “Failed”, “Hold” or “Pending”. |\n| res_code | String | Required, Max 5 characters | Response Code. 0 for Success. |\n| res_message | String | Required, Max 200 characters | Text message explaining the failure reason. |\n| pg_id | Integer | Required, Max 3 digits | Bank Number. E.g. “1” for HDFC Bank. |\n| pg_name | String | Required, Max 50 characters | Bank Name. E.g. “HDFC Bank”. |\n| Paymode | String | Required, Exact 2 characters | NB = Net Banking, CC = Credit Card, DC = Debit Card, PP = Prepaid Card, WA = Wallet, CE = Credit Card EMI, UP = UPI, UI = (UPI Intent) BC = Block Chain. |\n| emi_months | Integer | Optional, Max 3 digits | This is only provided if EMI is selected. Values can be 3, 6, 9, or 12. |\n| fraud_action | String | Conditional, Max 20 characters | Only if fraud engine is selected. Accept = Fraud not suspected, Reject = Very strong fraud suspicion, reject the order, Review = Fraud suspected, review the customer details before processing the order. |\n| fraud_message | String | Conditional, Max 200 characters | Only if fraud engine is selected. Fraud message describes the fraud in detail. |\n| score | Numeric | Conditional, Max 10 characters | Only if fraud engine is selected. Number between min and max risk scale. |\n| udf_1 | String | Optional, Max 100 characters | Same value as given in request. |\n| udf_2 | String | Optional, Max 100 characters | Same value as given in request. |\n| udf_3 | String | Optional, Max 100 characters | Same value as given in request. |\n| udf_4 | String | Optional, Max 100 characters | Same value as given in request. |\n| udf_5 | String | Optional, Max 100 characters | Same value as given in request. |\n\nUAT API URL: [https://dev-ob1epin.herokuapp.com/](https://dev-ob1epin.herokuapp.com/)  \nLive API URL: -\n\n**API Documentation Update: UPI Intent Flow**\n\nWhen a UPI intent is available for a payment transaction, the API response includes a `target_url`. This URL is fully mobile‑responsive and is intended to be used on mobile devices to launch the UPI intent flow.\n\n- **`paymode`** **\\=** **`UI`**  \n    Denotes **UPI Intent** mode. This value is returned when the payment can be initiated via a UPI intent on a mobile device. The accompanying `target_url` is designed to be opened in a mobile browser or WebView, triggering the installed UPI app to complete the transaction.\n- **`paymode`** **\\=** **`UP`**  \n    Represents the seamless payment mode (typically Unified Payments Interface). When `paymode` is set to `UP`, the integration behaves as a seamless payment experience.\n- **Seamless integration on non‑mobile platforms**  \n    For any platform other than mobile (e.g., desktop, tablet with non‑mobile browser, or other non‑handheld devices), the integration automatically falls back to a seamless flow. In such cases, the `target_url` may either be ignored or replaced with a suitable non‑mobile interface, ensuring a consistent and uninterrupted payment experience across all platforms.\n    \n\n**Webhook:**  \nWebhook will return us the updated transaction status. It help us to sync details with real time  \nchanges of transactions.  \nThe webhook URL will give you updated transactions status as per following format  \n{\"mid\":\"a_11****\",\"txn_id\":\"f6d58f26944f47d2\",\"currency\":\"USD\",\"amount\":\"10.00\",\"status\":\"Successful\",\"code\":\"00000\",\"message\":\"Transaction was completed successfully\",\"refund\":0, \"utr\": \"39878XXXX5463\"}\n\nMerchant needs to provide API URL to consume updated transaction status. If the webhook call response False, we send it three times. Which returning response  \nwith True or False as given below format  \nRequest\n\n| **Method** | **URL** | **Format** |\n| --- | --- | --- |\n| POST |  | JOSN |\n\nResponse:  \n{  \n\"response_message\": True  \n}","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"24855900","team":4422166,"collectionId":"9148d06f-d7d9-4b78-b74d-50ef292f0a82","publishedId":"2sAYBd99AG","public":true,"publicUrl":"https://payin.vistamoney.cc","privateUrl":"https://go.postman.co/documentation/24855900-9148d06f-d7d9-4b78-b74d-50ef292f0a82","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":"https://content.pstmn.io/d322c09a-7959-4e93-9b57-368a5501187a/dm0tbG9nby5wbmc=","colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":"https://content.pstmn.io/27d5a6e7-412c-4fb8-9a22-183a62b550f9/dm0tbG9nby5wbmc=","colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.10.1","publishDate":"2026-02-26T05:52:10.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":"https://content.pstmn.io/27d5a6e7-412c-4fb8-9a22-183a62b550f9/dm0tbG9nby5wbmc=","logoDark":"https://content.pstmn.io/d322c09a-7959-4e93-9b57-368a5501187a/dm0tbG9nby5wbmc="}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/cbb1212fc8571bdde4eea99dfee30056a306fdd5d815da86878cbf3768ef14c0","favicon":"https://vistamoney.cc/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://payin.vistamoney.cc/view/metadata/2sAYBd99AG"}