---
title: "Create a payment for an order"
method: POST
path: "/v3/orders/{id}/payment"
tags: ["Orders"]
---

# Create a payment for an order

`POST /v3/orders/{id}/payment`

Requires the `order:update` scope. Create a payment request / intent for an order.

## Response `200`

Payment created successfully

- CreateOrderPaymentResponseBody
  - `pg_payment_info` object — Payment gateway payload. Manual methods such as `bank_transfer` and `cod` can return an empty object while the public order contains the buyer-facing instructions to render. Virtual account methods expose provider reference and account details under the provider's `payment_method` object. QRIS responses expose QR data or a QR image payload. E-wallet, card, and invoice methods may expose provider actions or hosted provider URLs. Storefronts should render their own payment page from these fields and use `payment_url` only as a hosted fallback. SingaPay payments use normalized keys such as `payment_url`, `deeplink_url`, `qr_string`, `qr_image_url`, `va_number`, and `va_name`.
  - `public_order_url` string, uri, nullable — Buyer-facing public order status URL.
  - `payment_url` string, uri, nullable — Buyer-facing payment or instruction URL. Redirect or open this URL for hosted payment methods.
  - `payment_method` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

[API](https://skmtc.net/scalev/apis/nexus-commerce-api.md) · [All operations](https://skmtc.net/scalev/apis/nexus-commerce-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/scalev/nexus-commerce-api/versions/730030bd6477/schema)
