Create Public Pay Page Checkout
POST/api/public/paypal/pay/:token/checkout
Creates a PayPal order for the pay link's amount and returns its id. The pay page's PayPal button calls this from its createOrder callback, then the buyer approves the order in the PayPal window. The order carries the sales order or invoice number as its invoice id. No request body.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Called by the public pay page, not by an integrator. No bearer token: the pay link token in the URL is the only credential. The request must be sent to the seller's own workspace host (e.g. https://acme.sku.io), because the workspace is identified from the host; on any other host the response is 404 Payment page not found. (plain text). Limited to 60 requests per minute (20 per minute for checkout and capture). Returns 503 while the workspace is briefly under maintenance.
Errors (422, message is buyer-friendly): the link is already paid, cancelled or expired; the seller's PayPal account is not connected; the order no longer owes this amount; or PayPal refused to create the order.
Authentication: none (pay link token in the URL).
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not Found
Response Headers
Unprocessable Entity
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.