Skip to main content
A payment depends on an existing customer, an existing beneficiary, a payment invoice document, and a live quote. The organization must also be enabled for partner payment initiation. You need:
1

Choose a token and network

Use payment methods to choose an enabled token and network pair. GET /api/v1/crypto/networks is useful for network metadata, but payment-methods is the source for available token/network combinations.
2

Upload the invoice document

Upload at least one invoice with category=INVOICE, entityType=PAYMENT, and entityId=pending. See Upload Documents for the multipart request.
3

Create a payment quote

Include the configured paymentSystemId for the payout rail, the target customerId, and the beneficiaryId with the beneficiary’s current version as beneficiaryVersion. The quote is bound to that beneficiary. Partner REST does not expose a payment-system lookup endpoint; use the payment system ID provided during setup or by Nuvera support.
4

Create the payment

Use the quote ID and invoice document ID from the previous steps. The quote amount, currency, customer, beneficiary, and payout rail must match the payment request.

Optional payment metadata

These fields are optional and can help reconcile payments with your internal system.

Quote and payment lifecycle

Quotes are short-lived. Read expiresAt from the quote response and create the payment before that time. If a quote expires or is used, or the beneficiary changes, request a new quote. A crypto quote is binding. Creating the payment locks the destination amount, the fees, the exchange rate (none for USD) and the stablecoin amount to send; send it before the payment’s funding deadline. A bound payment cannot be cancelled through the API. Payment creation submits the payment into Nuvera’s review flow. Use list, detail, and activity endpoints to track it. GET /api/v1/payment/{id}/receipt is available only after the payment is completed. For complete quote and payment schemas, open the API Reference.