Mobile & DTH Recharges

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Submit a recharge or bill-payment request using a Pay2New product code and an active customer/outlet.

Endpoint

POST https://pay2new.in/apis/v1/recharge

Headers

HeaderRequiredValue / description
secretYesYour Pay2New API secret. Keep it on your server.
Content-TypeYes for JSON requestsapplication/json
AcceptOptionalapplication/json

📘

Authentication

Use an active Pay2New partner account with verified KYC, an active wallet and API access. Send requests from your registered IP address. Enable the relevant service where applicable; offer services may also require an active plan.

Request body

FieldTypeRequiredDescription
numberstringYesMobile, subscriber or bill account number for the selected product.
product_codestringYesProduct/operator code returned by the Product List API.
amountdecimal stringYesTransaction amount. Must be greater than zero.
pan_numberstringWhen amount ≥ 50,000PAN in 10-character format: 5 letters, 4 digits, 1 letter. Required for transaction amounts of 50,000 or more.
request_idstringYesUnique client reference for this request. Store it for reconciliation and support.
optional1stringNoAdditional product-specific input. Omit unless the product requires it or Pay2New instructs you to send it.
optional2stringNoAdditional product-specific input. Omit unless the product requires it or Pay2New instructs you to send it.
optional3stringNoAdditional product-specific input. Omit unless the product requires it or Pay2New instructs you to send it.
optional4stringNoAdditional product-specific input. Omit unless the product requires it or Pay2New instructs you to send it.
customer_numberstringYesCustomer mobile number; exactly 10 numeric digits.
latitudedecimal stringYesCustomer/outlet latitude as a decimal value.
longitudedecimal stringYesCustomer/outlet longitude as a decimal value.
pincodestringYesExactly 6 characters; send a valid Indian PIN code.
ipstringYesEnd-user IPv4 address.
outletIdstringYesActive Pay2New customer/outlet ID. Send this field in the JSON body.
bill_fetch_order_idstringNoorder_id returned by Bill Fetch. Send it when you have already fetched or validated this bill.

Request example

📘

Illustrative values

All identifiers, identity data, amounts and IP addresses in these examples are synthetic. Replace the secret, product/customer references and sample inputs with the values for your integration before sending a request.

curl --request POST \
  --url 'https://pay2new.in/apis/v1/recharge' \
  --header 'secret: <YOUR_PAY2NEW_SECRET>' \
  --header 'Content-Type: application/json' \
  --data '{
  "number": "9999999999",
  "product_code": "1",
  "amount": "100.00",
  "request_id": "EXAMPLE202609260001",
  "customer_number": "9999999999",
  "latitude": "19.0760",
  "longitude": "72.8777",
  "pincode": "400001",
  "ip": "203.0.113.10",
  "outletId": "YOUR_OUTLET_ID"
}'

Response fields

FieldTypeDescription
statusinteger1: successful operation; 2: failed/rejected operation; 3: pending or indeterminate where returned.
messagestringHuman-readable result or error message.
order_idstringPay2New transaction/order reference. Store it for reconciliation.
request_idstringClient request reference associated with the operation.
operator_referencestring / nullOperator/provider reference, when available; may be empty or null.
numberstringTransaction account/subscriber number.
amountnumber / stringTransaction amount; a JSON number or numeric string may be returned.
balancestringWallet balance as a formatted string; may contain commas.

Pending response example

{
  "status": 3,
  "order_id": "P2N_EXAMPLE_ORDER",
  "request_id": "EXAMPLE202609260001",
  "message": "Transaction Pending",
  "operator_reference": "",
  "number": "9999999999",
  "amount": "100.00",
  "balance": "1,000.00"
}

📘

Integration notes

Use a new request_id for each new transaction. Repeating a request ID with the same number and amount returns the existing result; changing the number or amount is rejected. For a pending or uncertain result, check Transaction Status before initiating another transaction.

📘

Integration notes

For amounts of 50,000 or more, send pan_number. The API ignores pan_number below this threshold. Send bill_fetch_order_id when Bill Fetch has already returned an order reference. If the selected product requires bill fetch/validation and no reference is supplied, Pay2New performs it during processing.

📘

Integration notes

The response field is order_id. A repeated request for a reversed transaction returns status 2; the status lookup can expose order.status 4.

📘

Integration notes

Formatted monetary fields are strings with two decimal places and may use Indian comma grouping, for example 1,23,456.78. Remove grouping separators before numeric calculations. Illustrative balances or charges are not pricing commitments.

Errors

Application failures return status: 2 and a message. Invalid fields can also be identified in an errors object. Authentication, IP registration, service access and product availability can prevent processing. Other response fields may be absent when processing fails before a transaction is created. Evaluate the JSON result even when the HTTP request completes successfully. Preserve your request and order references when an outcome is pending or indeterminate.

{
  "status": 2,
  "message": "Invalid Parameters",
  "errors": {
    "number": "Illustrative field validation message"
  }
}
Body Params
string
required

Mobile, subscriber or bill account number for the selected product.

string
required

Product/operator code returned by the Product List API.

string
required

Transaction amount. Must be greater than zero.

string

PAN in 10-character format: 5 letters, 4 digits, 1 letter. Required for transaction amounts of 50,000 or more.

string
required

Unique client reference for this request. Store it for reconciliation and support.

string

Additional product-specific input. Omit unless the product requires it or Pay2New instructs you to send it.

string

Additional product-specific input. Omit unless the product requires it or Pay2New instructs you to send it.

string

Additional product-specific input. Omit unless the product requires it or Pay2New instructs you to send it.

string

Additional product-specific input. Omit unless the product requires it or Pay2New instructs you to send it.

string
required

Customer mobile number; exactly 10 numeric digits.

string
required

Customer/outlet latitude as a decimal value.

string
required

Customer/outlet longitude as a decimal value.

string
required

Exactly 6 characters; send a valid Indian PIN code.

string
required

End-user IPv4 address.

string
required

Active Pay2New customer/outlet ID. Send this field in the JSON body.

string

order_id returned by Bill Fetch. Send it when you have already fetched or validated this bill.

Headers
string
required

Your Pay2New API secret.

Response

Language
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json