Skip to main content
POST
/
payment-requests
Create payment request by card provider
curl --request POST \
  --url https://api.venlyfinance.com/v1/payment-requests \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "cardProviderReference": {
    "type": "paymentology",
    "referenceId": "ACC-12345"
  },
  "paymentRequest": {
    "amount": 25,
    "currency": "USD",
    "externalId": "order-67890",
    "description": "Order #67890",
    "idempotencyKey": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  }
}
'
{
  "success": true,
  "result": {
    "id": "d4e5f6a7-b8c9-4012-8345-6789abcdef01",
    "accountId": "b2a1f0e9-8c7d-4e3a-9f21-0a1b2c3d4e5f",
    "amount": 25,
    "currency": "USD",
    "externalId": "order-67890",
    "description": "Order #67890",
    "status": "RESERVED",
    "idempotencyKey": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "executions": [
      {
        "id": "e5f6a7b8-c9d0-4123-9456-789abcdef012",
        "walletPairId": "f6a7b8c9-d0e1-4234-a567-89abcdef0123",
        "chain": "BASE",
        "asset": "USDC",
        "amount": 25,
        "exchangeRate": 1,
        "status": "RESERVED",
        "transactionHash": "0xa1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2",
        "createdAt": "2026-01-15T09:30:00Z",
        "updatedAt": "2026-01-15T09:30:02Z"
      }
    ],
    "createdAt": "2026-01-15T09:30:00Z",
    "updatedAt": "2026-01-15T09:30:02Z"
  }
}
Creates a payment request without an account ID in the path — the account is resolved from cardProviderReference (type + referenceId). The nested paymentRequest body matches the per-account endpoint.
The resolved account must be verified, and (self-custody) its wallet ACTIVE with an allowance, before a payment can be reserved. See Account verification.

Authorizations

Body

application/json
cardProviderReference
object
required
paymentRequest
object
required

Response

Payment request created

success
boolean

Indicates whether the request was successful

result
object