Skip to main content

1. Set up your account

Sign in to the sandbox dashboard with your email. You get a one-time code, there is no password.
1

Create an app

Under Apps, create one for your product. Keys and webhooks belong to an app.
2

Add and verify a settlement wallet

Under Wallets, add the Stellar public key (G...) that should receive USDC. The account must be funded and hold a trustline to testnet USDC. Click Validate and pay the small verification amount from that wallet to prove you own it.
3

Link the wallet to your app

On the app page, set the settlement wallet. Payments on this app now settle there.
4

Generate a secret key

On the app page, under Secret keys, generate one. It is shown once. On sandbox it starts with sk_test_.
The secret key is for your server only. Never put it in a web page or mobile app. If you need to create payments from the browser, use the publishable key with the JavaScript SDK.

2. Create a payment

The response is the payment and the checkout URL:
Store payment.id against your order. clientReferenceId is your own id and comes back in the webhook.

3. Pay it

Open paymentCheckoutUrl in a browser. Pick a wallet, approve the payment, and watch the page flip to Paid. You need a wallet with testnet USDC for this. The testing guide shows how to get one in a few minutes.

4. Receive the webhook

On the app page, under Webhook, set the URL Paywit should call. For a first look, use a request catcher such as webhook.site. Saving the URL returns a signing secret, whsec_..., shown once. Pay another payment and the event arrives:
In production your endpoint verifies the Paywit-Signature header, deduplicates on id, and fulfils the order on payment.paid. The webhooks guide has the details and the verification code.

Next steps

Hosted checkout

What your customer sees, return URLs and expiry.

Webhooks

Verify signatures and handle retries.

Payment statuses

What each status means and what to do.