Skip to content

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"
email 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"
            }
        }]
}