UPI Payment

Initiate payouts to your Customers, Vendors, and Employees directly from your Bank account through UPI VPA

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

Send a payout to a virtual payment address (VPA).

POST https://pay2new.in/apis/payout/v1/vpa

Headers

HeaderRequiredDescription
secretYesYour Pay2New API secret.
Content-TypeYesapplication/json
outletIdNoPay2New outlet/customer ID returned after successful onboarding; do not send the provider outlet ID. If supplied, ownership and activation are checked.
AcceptNoRequest a JSON response.

Requests require an active partner account, approved KYC, active wallet and API access, an allowlisted source IP, and the relevant service enabled.

JSON request

FieldRequiredDescription
numberYesDestination virtual payment address (VPA).
amountYesAmount. Accepted as a JSON number or decimal string.
latitudeYesLatitude as a decimal value. Accepted as a JSON number or decimal string.
longitudeYesLongitude as a decimal value. Accepted as a JSON number or decimal string.
request_idYesYour reference for this request. At least 8 characters.
product_codeYesProduct code enabled for your partner account. Retrieve it from the product list. Digits only.
customer_nameNoRecipient name. Include this field in payout requests.
ipYesIPv4 address of the customer-facing endpoint.
ifscNoDestination IFSC. Include it for bank-account and credit-card destinations as applicable.

Usage notes

  • Use the product_code enabled for this payment type and transfer mode.
  • outletId is optional; if supplied, it must be an active Pay2New outlet linked to your partner account.
  • Include customer_name in the request.
  • status 3 means processing is pending or uncertain. Confirm the existing payment’s status before initiating another payment.

Request example

All identities and account values below are synthetic. Replace placeholders, including the enabled product code and fresh device capture, before sending a request.

{
  "number": "recipient@example",
  "amount": "100.00",
  "latitude": "18.5204",
  "longitude": "73.8567",
  "request_id": "EXAMPLE202609260001",
  "product_code": "YOUR_PRODUCT_CODE",
  "ip": "192.0.2.10",
  "customer_name": "Example Recipient"
}

Response

Application status is returned in the JSON status field. A successful HTTP response alone does not confirm a successful operation.

FieldDescription
statusinteger: application status, not HTTP status
messagestring
order_idstring
txn_valuedecimal string
balancedecimal string or number
request_idstring
beneprovider payee object or null; may be absent
bank_referencestring or null; may be absent

Provider-dependent fields may be absent or null. status: 2 indicates a failure. For transaction endpoints, status: 3 indicates pending or uncertain processing and requires status confirmation.

Illustrative response:

{
  "status": 1,
  "message": "Success",
  "order_id": "EXAMPLE_ORDER_001",
  "txn_value": "100.00",
  "balance": "1000.00",
  "request_id": "EXAMPLE202609260001",
  "bene": {
    "name": "Example Recipient",
    "accountNumber": "000000000001"
  },
  "bank_reference": "EXAMPLE_BANK_REFERENCE"
}

Errors

Validation errors can include an errors object keyed by field name. Authentication, outlet, service and other processing errors can return only status and message. Errors are application-level responses; do not rely on an HTTP 400 status.

{
  "status": 2,
  "message": "Invalid Parameters",
  "errors": {
    "number": "Provide a valid value for this field."
  }
}
Body Params
string
required

Destination virtual payment address (VPA).

string
required

Amount. Accepted as a JSON number or decimal string.

string
required

Latitude as a decimal value. Accepted as a JSON number or decimal string.

string
required

Longitude as a decimal value. Accepted as a JSON number or decimal string.

string
required

Your reference for this request. At least 8 characters.

string
required

Product code enabled for your partner account. Retrieve it from the product list. Digits only.

string

Recipient name. Include this field in payout requests.

string
required

IPv4 address of the customer-facing endpoint.

string

Destination IFSC. Include it for bank-account and credit-card destinations as applicable.

Headers
string
required

Your Pay2New API secret.

string

Pay2New outlet/customer ID returned after successful onboarding; do not send the provider outlet ID. If supplied, ownership and activation are checked.

Response

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