checkout

Create an order from the cart and start the payment

accept_terms: true is required: it records that the customer accepts the terms and the acceptable-use policy and asks for the service to start at once (optional terms_version names the version shown). While LAUNCH_MODE=waitlist every cart (traffic or ports) is refused with 409 launch_waitlist and stays intact. Response shape depends on payment_method: stripe / coingate / nowpayments / mock return redirect_url; wallet debits the balance in a transaction and returns the order as paid (or awaiting_kyb for port orders at KYB t0); bank_transfer returns bank instructions. When the provider refuses the checkout (502 payment_provider_error) the order is cancelled and the cart restored. Traffic limits count unpaid orders too (cancel an abandoned one under Orders). VAT: none while the seller is not registered for VAT (SELLER_VAT_ID empty; GET /v1/launch reports seller.vat_registered); otherwise 21 % for Lithuania and EU customers without a validated VAT id, reverse charge (0 %) for validated EU VAT ids outside LT, 0 % outside the EU. An Idempotency-Key header makes the call replay-safe; the same key with a different payment method or coupon is 409 idempotency_conflict.

post/v1/checkout

Request

  • Base URL: https://api.portproof.org
  • URL: https://api.portproof.org/v1/checkout
  • Auth: one of:
    • API key in cookie pp_session
    • HTTP bearer

Request body

payment_method'stripe' | 'coingate' | 'nowpayments' | 'wallet' | 'bank_transfer' | 'mock' required
coupon_codestring
accept_termstrue required
terms_versionstring

Response

Default Response

OR
OR
OR
OR
OR

Changes

No recorded changes to this operation across all 1 revision of this API.