DEV Community

chovy
chovy

Posted on Originally published at dev.profullstack.com

CoinPay checkout: one link, any coin or PayPal, and you always know who paid

CoinPay checkout: one link, any coin or PayPal, and you always know who paid

Most crypto checkouts make you pick the chain before the buyer ever sees the page. If you picked BTC and your buyer holds USDC on Solana, they leave.

CoinPay now has hosted checkout sessions. You create one with a single API call, send the buyer to the link, and they choose how to pay: every coin your business has a wallet for (BTC, ETH, SOL, USDC and USDT on several chains, DOGE, XRP and more) or PayPal.

Who paid, for what

Every session requires the buyer's email and your own account id, and records which site the payment came from. When the payment confirms, your webhook gets all three back with the usual event. No more "who sent this 12 USDC?"

One call

POST https://coinpayportal.com/api/checkout/sessions
Authorization: Bearer <your business API key>

{ "amount": 9, "currency": "USD",
  "description": "Pro, one month",
  "customer_email": "buyer@example.com",
  "account_id": "user_123",
  "property": "example.com",
  "success_url": "https://example.com/thanks?session={CHECKOUT_SESSION_ID}",
  "cancel_url": "https://example.com/pricing" }
Enter fullscreen mode Exit fullscreen mode

You get back a url. The buyer picks a coin or PayPal there, and can switch coins while the payment is still open. The SDK has it too: createCheckoutSession() in @profullstack/coinpay 0.25.0.

Already running

We moved about 50 of our own sites to it this week: ugig, smshub, pairux, ThreatCrush, nixamp and the rest. We tested it end to end with real money on Base: the site had the purchase unlocked about 3 seconds after the transaction was mined.

Docs: https://coinpayportal.com/docs#checkout-sessions

Top comments (0)