Create Checkout
Create a single-use Coinbase Business checkout for accepting crypto payments. Generates a hosted checkout URL with configurable amount, currency, and expiration. Supports fiat currencies (USD, EUR, SGD, GBP) and USDC. Completed checkouts can be refunded. Ideal for: one-time invoices, e-commerce orders, event tickets, service payments.
Catalog action Integrations coinbase-business
Create a single-use Coinbase Business checkout for accepting crypto payments. Generates a hosted checkout URL with configurable amount, currency, and expiration. Supports fiat currencies (USD, EUR, SGD, GBP) and USDC. Completed checkouts can be refunded. Ideal for: one-time invoices, e-commerce orders, event tickets, service payments.
At a Glance
| Field | Value |
|---|---|
| Action ID | coinbase-business-create-checkout |
| Category | Integrations |
| Connector | coinbase-business |
| Requires gas | No |
| Funds movement | None declared |
| Tags | coinbase, checkout, payment, crypto, finance, create, write |
Payload Schema
| Field | Type | Required | Description |
|---|---|---|---|
amount | string | Yes | Payment amount with up to 2 decimal places (e.g., '25.00'). Range: 0.01–100000000 |
currency | string | Yes | Currency code — 'USDC' or fiat codes such as 'USD', 'EUR', 'SGD', 'GBP' |
network | string | No | Blockchain network — currently only 'base' is supported |
description | string | No | Description for the checkout (max 500 characters) |
expiresAt | string | No | Expiration timestamp in RFC 3339 format. Defaults to 1 hour from creation |
metadata | object | No | Key-value metadata (max 20 properties, 100 chars per value) |
successRedirectUrl | string | No | HTTPS URL to redirect on successful payment |
failRedirectUrl | string | No | HTTPS URL to redirect on failed payment |
apiKeyName | string | No | CDP API Key Name (overrides connector) |
apiKeySecret | string | No | CDP API Key Secret (overrides connector) |
Result Schema
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Checkout ID (24-char hex) |
url | string | Yes | Hosted payment page URL |
status | string | Yes | Checkout status |
amount | string | Yes | Payment amount |
currency | string | Yes | Currency code |
network | string | Yes | Blockchain network |
address | string | Yes | Blockchain payment address |
tokenAddress | string | No | ERC-20 token contract address |
description | string | No | Payment description |
expiresAt | string | No | Expiration timestamp |
metadata | object | No | Attached metadata |
successRedirectUrl | string | No | Success redirect URL |
failRedirectUrl | string | No | Fail redirect URL |
settlement | object | No | Settlement breakdown (available after completion) |
fiatAmount | string | No | Original fiat amount (if fiat currency used) |
fiatCurrency | string | No | Original fiat currency code |
transactionHash | string | No | Blockchain transaction hash (when completed) |
refundedAmount | string | No | Total refunded amount |
refunds | array | No | Refund details |
createdAt | string | Yes | Creation timestamp |
updatedAt | string | Yes | Last update timestamp |
Examples
json{ "type": "coinbase-business-create-checkout", "payload": { "amount": "1000000", "currency": "example-currency" }, "children": [], "connector": { "type": "coinbase-business", "id": "conn_coinbase_business" }}
bashcurl -X POST "https://api.b3os.org/v1/actions/coinbase-business-create-checkout/test" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "inputs": { "amount": "1000000", "currency": "example-currency" }}'
Payload fields can use workflow expressions such as {{$trigger.body.amount}}, {{$nodes.fetch.result.price}}, and {{$props.asset}} when the value should come from a trigger, prior node, or reusable workflow prop.
