Docs

Payments

Connect PayPal

Buyers pay your own PayPal account. PayPal suits prices under $10, where its fees on small payments are lower.

Connect your account

PayPal connects through your own PayPal REST app: one in PayPal's sandbox for test, and one live.

  1. Make a REST app. In PayPal's developer dashboard, under Apps & Credentials, make an app in the sandbox. Make a live one when you go live.
  2. Connect it. In Payments, under PayPal, choose Connect on the Test side and connect your sandbox app. We store its secret encrypted.
  3. Add our webhook. On the app's Webhooks page in PayPal, add the address Payments shows you, exactly as shown.
  4. Tick four events. PAYMENT.CAPTURE.COMPLETED, PAYMENT.CAPTURE.REFUNDED, CUSTOMER.DISPUTE.CREATED and CUSTOMER.DISPUTE.RESOLVED.
  5. Send a test event. Use Simulate events on that page. It shows up on Payments within a minute.
  6. Connect live at go-live. Repeat these steps with your live app on the Live side.
  • One connection serves all your apps. Test and live connect separately.
  • Connecting or disconnecting asks you to confirm it's you again if you signed in more than 10 minutes ago.
  • If most of your prices are under $10, ask PayPal for its micropayments pricing.

How the buyer pays

The watch's QR code opens PayPal's own site on the phone, already linked to that watch. The buyer approves the payment there with their PayPal balance or a card, and we then complete it on your account. The money lands in your PayPal balance; withdraw it from PayPal.

What we listen for

PayPal eventWhat it meansWhat the watch does
PAYMENT.CAPTURE.COMPLETEDPaidUnlocks within about a second if its buy screen is open; otherwise when it next asks.
PAYMENT.CAPTURE.REFUNDEDRefundedLocks at its next check; at once if its buy screen is open.
CUSTOMER.DISPUTE.CREATEDA dispute openedLocks while the dispute is open.
CUSTOMER.DISPUTE.RESOLVEDThe dispute endedWon: unlocks again, unless refunded. Lost: stays locked.

We check every event against the checkout we made: the watch and app, the amount, the currency, and sandbox or live.

If PayPal can't reach us

If PayPal's tries to reach us fail, Payments shows Needs attention and See the fix. Payments still go through meanwhile, but refunds won't lock watches until it works again. The fix:

  1. Open your app's webhooks. PayPal's developer dashboard, Apps & Credentials, your app, Webhooks.
  2. Check the address. It must match the one Payments shows, exactly.
  3. Check the events. All four from the table above.
  4. Send a test event. Simulate events. Within a minute it shows up and the alert clears.

Refunds and disputes

  • Refund in PayPal. A sale in Sales links straight to it.
  • Respond to disputes in PayPal. The watch stays locked while a dispute is open.
  • Test in the sandbox only: pay with a sandbox buyer account, and refund from the sandbox. Never run refunds or disputes on your live account to test.

The watch's side of each case is on Refunds, disputes and renewals.

Esc