Beladed Docs
Help Sign in Create account

Beladed Payments API

Create Payment Link

beta

Create Payment Link through the reviewed Beladed Payments contract.

POST/api/payment/link/create
curl --request POST 'https://api.beladed.dev/api/payment/link/create' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'X-Beladed-API-Key: BELADED_SECRET_KEY' \
  --data '{
  "source": {
    "nickname": "Test payment link 1",
    "amount_details": {
      "amount_type": "FIXED",
      "total_amount": 7500,
      "currency": "USD"
    },
    "allowed_payment_methods": [
      "PAYMENT_CARD",
      "BANK_ACCOUNT"
    ],
    "payment_frequency": "ONE_TIME",
    "description": "Test payment link",
    "merchantId": "id_demo_001",
    "cardId": "id_demo_001",
    "identityId": "id_demo_001",
    "items": [
      {
        "name": "Holiday Dinner Contribution",
        "quantity": "1",
        "image_details": {
          "primary_image_url": "https://merchant.example.invalid/assets/example.png"
        }
      }
    ]
  }
}'

Parameters

This operation has no documented parameters.

Request body

Requestapplication/json
Schema
{
  "type": "object",
  "properties": {
    "source": {
      "type": "object",
      "properties": {
        "nickname": {
          "type": "string"
        },
        "amount_details": {
          "type": "object",
          "properties": {
            "amount_type": {
              "type": "string"
            },
            "total_amount": {
              "type": "integer"
            },
            "currency": {
              "type": "string"
            }
          }
        },
        "allowed_payment_methods": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "payment_frequency": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "merchantId": {
          "type": "string"
        },
        "cardId": {
          "type": "string"
        },
        "identityId": {
          "type": "string"
        },
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "quantity": {
                "type": "string"
              },
              "image_details": {
                "type": "object",
                "properties": {
                  "primary_image_url": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
{
  "source": {
    "nickname": "Test payment link 1",
    "amount_details": {
      "amount_type": "FIXED",
      "total_amount": 7500,
      "currency": "USD"
    },
    "allowed_payment_methods": [
      "PAYMENT_CARD",
      "BANK_ACCOUNT"
    ],
    "payment_frequency": "ONE_TIME",
    "description": "Test payment link",
    "merchantId": "id_demo_001",
    "cardId": "id_demo_001",
    "identityId": "id_demo_001",
    "items": [
      {
        "name": "Holiday Dinner Contribution",
        "quantity": "1",
        "image_details": {
          "primary_image_url": "https://merchant.example.invalid/assets/example.png"
        }
      }
    ]
  }
}

Responses

200The request succeeded.
Responseapplication/json
Schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      }
    },
    "requestId": {
      "type": "string"
    }
  }
}
{
  "data": {
    "id": "id_demo_001",
    "status": "available"
  },
  "requestId": "req_demo_001"
}

Errors

400invalid_request

The request did not satisfy the documented contract.

401authentication_required

The credential is missing or invalid.

403not_authorized

The account, product scope, permission, or origin is not eligible.

404not_found

The requested public or account-owned resource was not found.

429rate_limited

Retry after the current product limit resets.

Reliability

Idempotency
No public Idempotency-Key guarantee is declared; use a stable client reference and confirm resource state before retrying.
Pagination
Not applicable.
Rate limit
Subject to current account, product, and abuse-protection limits. Honor Retry-After when returned.
Webhook events
No related public event is declared.

Contract provenance

This operation is published from reviewed repository contracts. Source metadata is included for traceability without exposing internal implementation details.

Route owner
../beladed-api-cloudflare/src/functions/payment.js
Handler owner
../beladed-api-cloudflare/src/functions/core/PaymentPaymentLink.js
Verified
2026-07-11
Type to search the complete public documentation catalog.