Create payment
POST api/v2/paygate/payment/wallet/
Create a payment by wallet
Request Body schema
application/json
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
| endpoint | string |
Yes | Api key | "1dc4441f-38d5-42b5-a705-81958f928462" |
| amount | integer | Yes | Amount in minor units | 1000 |
| currency | integer | Yes | Number code | 356 |
| buyer | object | Yes | Buyer at the endpoint in JSON format | {"remote_id": "string", "ip": "string"} |
| payment_method | string | Yes | Payment method. May be: upi, imps |
"upi" |
| description | string | No | Description | "string" |
| client_id | string | No | Transaction id at the endpoint. Max 255 chars |
"string" |
| success_url | string or null |
No | Redirect URL after success result | "http://example.com" |
| fail_url | string or null |
No | Redirect URL after fail result | "http://example.com" |
| notify_url | string or null |
No | Notification URL of changed status | "http://example.com" |
| name | string | No | The customer's name | "John Smith" |
| string |
No | The customer's email | "user@example.com" | |
| phone | string | No | International phone number of the customer, without the '+' | "911123456789" |
| country | string | No | The customer's country code (ISO 3166-1 alpha-2) | "IN" |
| account_number | string | Yes | Payer account: UPI VPA for upi, bank account number for imps. This is not the post-payment UTR. |
"payer@bank" |
For Pay247 UPI/IMPS payments, the merchant must send a non-empty account_number in the creation request. When this value is supplied, the PayPlanet P2P form skips the repeated payer-account entry step. If it is missing, the form may request it as a compatibility fallback. This requirement is specific to this flow, not all wallet providers.
After transferring the funds, the payer must still enter the UTR (transaction reference from the payment receipt). It is submitted separately as document_info to the P2P confirmation endpoint; do not send the UTR as account_number when creating a payment.
Pay247 returns p2p_wallet_data.valid_till as the transaction creation time plus 15 minutes, in UTC (YYYY-MM-DD HH:MM:SS), for both UPI and IMPS. Refreshing the form does not extend this deadline.
Request sample
{
"endpoint": "1dc4441f-38d5-42b5-a705-81958f928462",
"amount": 1000,
"currency": 356,
"buyer": {
"remote_id": "string",
"ip": "string"
},
"payment_method": "upi",
"description": "string",
"client_id": "string",
"success_url": "http://example.com",
"fail_url": "http://example.com",
"notify_url": "http://example.com",
"name": "string",
"email": "user@example.com",
"phone": "911123456789",
"country": "IN",
"account_number": "payer@bank"
}
Response sample
STATUS 201
{
"redirect_url": "http://example.com",
"info": {
"tx": "f17d7f5c-6b4a-47fd-95eb-08086e250473",
"payment": {},
"status": "create",
"currency": {
"id": 0,
"title": "Indian Rupee",
"char_code": "INR",
"num_code": 356
},
"amount": 1000,
"created_at": "2000-01-01T00:00:00Z",
"errors": {},
"parts_tx": [],
"additional_data": {},
"endpoint_logo": "string"
},
"qr_code": {
"qrcode": "string",
"beneficiary": "string",
"format": "string",
"copypaste": "string"
},
"p2p_wallet_data": {
"target_account_number": "string",
"bank_name": "string",
"holder": "string",
"valid_till": "2000-01-01 00:15:00"
},
"p2p_card_data": {
"target_card_number": "string",
"bank_name": "string",
"holder": "string",
"valid_till": "2000-01-01T00:15:00Z",
"tll": "00:15:00Z"
},
"pay_data": [{
"title": "paytm",
"img": "string",
"upi": {
"android": "string",
"ios": "string"
}
},
{
"title": "googlepay",
"img": "string",
"upi": {
"android": "string",
"ios": "string"
}
},
{
"title": "phonepe",
"img": "string",
"upi": {
"android": "string",
"ios": "string"
}
},
{
"title": "other",
"img": "string",
"upi": {
"android": "string",
"ios": "string"
}
}]
}