Connecting PayPal
Swft adds a native PayPal button to the checkout payment section. The button uses PayPal’s official JS SDK, so shoppers stay on your checkout — they’re not redirected to PayPal.com — and your PayPal account receives funds directly. Swft collects a 2% platform fee, billed monthly.
Prerequisites
Section titled “Prerequisites”- A PayPal Business account (free at paypal.com/business)
- Your Swft API key already saved in Settings → Swft Checkout
Get your API credentials
Section titled “Get your API credentials”PayPal exposes per-app credentials. You need a Client ID and Client Secret for one of your PayPal apps.
1. Open the PayPal developer dashboard
Section titled “1. Open the PayPal developer dashboard”→ developer.paypal.com/dashboard/applications
2. Create (or pick) an app
Section titled “2. Create (or pick) an app”- Live mode: use an app under Live → My Apps & Credentials.
- Sandbox mode: use an app under Sandbox → My Apps & Credentials. Sandbox apps come with a free test PayPal buyer account so you can test end-to-end without real money.
If you don’t have an app yet, click Create App, choose Merchant, give it a name (e.g. “Swft Checkout”), and select the sandbox or live business account to attach.
3. Copy the Client ID and Secret
Section titled “3. Copy the Client ID and Secret”On the app detail page, click Show next to the Secret. Copy both values somewhere safe.
Connect PayPal in Swft
Section titled “Connect PayPal in Swft”- Go to your Swft Dashboard → Settings → Payments.
- Find the PayPal card.
- Paste your Client ID and Client Secret.
- If you’re testing with PayPal Sandbox credentials, leave Live mode OFF. If you’re using your real PayPal Business app, switch it ON.
- Tick Enable PayPal.
- Click Save.
The PayPal button now appears in your checkout’s payment section between Card and BNPL. It only appears for shoppers in countries where PayPal supports buyer accounts — Swft hides it automatically elsewhere.
How payments work
Section titled “How payments work”When a shopper clicks the PayPal button:
- The PayPal SDK opens an in-page PayPal login (no full-page redirect).
- Shopper authorises the payment against their PayPal balance or linked card.
- Swft’s API calls PayPal’s
orders/{id}/captureendpoint server-side, using your credentials. - On capture success, Swft marks the session complete and creates a paid WooCommerce order with
payment_method: 'paypal'. - The shopper sees the order confirmation page.
Funds settle into your PayPal Business balance under your standard PayPal payout schedule. PayPal’s own per-transaction fees apply (refer to your PayPal Business pricing).
Platform fee
Section titled “Platform fee”Swft’s 2% platform fee on PayPal transactions is billed monthly via Stripe Billing, against the card you have on file. This is because PayPal doesn’t expose a marketplace-style fee skim at the gateway layer.
You’ll see a single Swft invoice each month covering the accumulated fees from all out-of-band gateways (PayPal, Klyme, NomuPay). The invoice itemises the gateway, the order count, and the total fee — no surprise line items.
Refunds
Section titled “Refunds”Refunds happen in WooCommerce, not Swft.
If you use the WooCommerce PayPal Payments plugin (recommended), the refund button in WC → Orders calls PayPal directly and works out of the box. Otherwise, issue refunds from your PayPal Business dashboard and mark the WC order refunded manually.
Test mode
Section titled “Test mode”To test without real money:
- Use Sandbox credentials from
developer.paypal.com → Sandbox → My Apps & Credentials. - In Swft, paste the sandbox Client ID/Secret and leave Live mode OFF.
- Create a sandbox personal buyer account if you don’t have one.
- Run a checkout, click PayPal, log in with the sandbox buyer credentials, and complete the test payment.
Test payments appear in your sandbox PayPal account, not your live account.
Disconnecting PayPal
Section titled “Disconnecting PayPal”In Settings → Payments, uncheck Enable PayPal. The PayPal button disappears from the checkout immediately. Your stored credentials are kept (so you can re-enable later without re-entering them); to fully remove, blank out the Client ID and Secret fields and save again.
Disabling PayPal in Swft does not affect any pending PayPal transactions — those continue to capture and settle normally.