Payments

Create a payment

Creates a payment for an order or subscription. For initial payments, card details and a callback URL are required. For subsequent payments on as_presented subscriptions, the card from the last successful payment is reused, and request_id, amount, and currency are required instead.

Either order_id or subscription_id must be provided, but not both.

post/api/v1/payment

Request

  • Base URL
    https://api.crossborder.jiopay.co.in
  • URL
    https://api.crossborder.jiopay.co.in/api/v1/payment
  • Auth
    HTTP bearer

Request body

order_idstring

The unique identifier for the order. Either order_id or subscription_id must be provided, but not both.

subscription_idstring

The unique identifier for the subscription. Either order_id or subscription_id must be provided, but not both.

method'card'

Payment method. Must be card. Required for initial payments. Not required for subsequent payments (defaults to card).

sequence'initial' | 'subsequent'

Payment sequence. Use initial (default) for first-time payments or subsequent for merchant-initiated payments on as_presented subscriptions.

callback_urlstring

HTTPS URL where the customer is redirected after payment processing. Required for initial payments. Not required for subsequent payments as there is no customer redirect involved.

request_idstring

Idempotency key. Required for subsequent payments, optional for initial payments.

amountinteger

Payment amount in minor units (cents). Required for subsequent subscription payments. Cannot exceed the subscription's max_amount.

currencystring

Currency code in ISO 4217 format. Must match the subscription's currency for subsequent payments.

notesNotes nullable

Optional key-value pairs for attaching custom metadata (e.g. invoice references, project codes). Keys must be strings and cannot collide with reserved field names. If your business has custom field rules configured (e.g. enum constraints), values are validated against those rules. Each key appears as a separate column in CSV report exports, with corresponding values populating the rows.

Example request

{
  "order_id": "order_68c00b7btsthf",
  "subscription_id": "sub_5JU9yv0lGSUP",
  "card": {
    "holder_name": "John Doe",
    "number": "4111111111111111",
    "expiry_month": "09",
    "expiry_year": "30",
    "cvv": "123"
  },
  "callback_url": "https://server.yoursite.com/payment/callback",
  "request_id": "unique_request_id_123",
  "amount": 1500,
  "currency": "USD",
  "notes": {
    "invoice_ref": "INV-2026-001",
    "project": "Alpha"
  }
}

Response

Created

payment_idstring

The unique identifier for the created payment.

status'pending' | 'success' | 'failed' | 'action_required' | 'in_progress' | 'under_review'

The current status of the payment.

Example response

{
  "payment_id": "payt_691eeb9aV79Uk",
  "next_steps": [
    {
      "payload": {
        "url": "https://secure.crossborder.jiopay.co.in?paymentId=payt_691eeb9aV79Uk&authToken=ey...&redirectUrl=encoded_url",
        "interval_in_ms": 5000
      }
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.