Skip to content
Shifter

ShifterPay API

Send money to anyone in South Africa, from one API.

ShifterPay lets your business send PayShap payments, bank transfers and cash vouchers from a rand balance you hold with us. Test everything in the sandbox first. No money moves until you are ready.

Send R500 by PayShap
$ curl https://api.shifter.money/v1/payments \
    -H "Authorization: Bearer $KEY" \
    -H "Idempotency-Key: $(uuidgen)" \
    -d '{
      "amount_cents": 50000,
      "destination": {
        "type": "payshap_proxy",
        "proxy_id": "+27821234567"
      }
    }'

// 201 Created
{ "status": "succeeded",
  "amount_cents": 50000, "fee_cents": 800,
  "destination": { "account_name": "J DOE", "bank": "Capitec" } }

Ways to pay

Three ways to send money

You choose how each person gets paid. The fee is added on top, so the person always gets the full amount you send.

R8.00 per payment

PayShap

Paid in seconds to the bank account linked to a phone number. The bank confirms the name of the account holder before any money moves.

  • Usually arrives in seconds
  • Name checked first
R8.00 + 0.1% per payment

Bank transfer

Pay an account number at 10 South African banks, including all the major ones.

  • Any account number
  • The bank does not check the name
R8.00 per payment

Cash voucher

No bank account needed. The person gets a code and a PIN, and collects the cash at a partner ATM or at a shop that takes the voucher.

  • R10 to R5,000
  • Valid for 24 hours

If a payment fails, we give the fee back in full.

Example: to send R1,000 by PayShap, your balance goes down by R1,008. The person gets R1,000.

How it works

From deposit to payment in four steps

  1. 1

    Fund your balance

    Send an EFT to our business bank account with your own reference. As soon as the money reaches our account, we add it to your balance automatically.

  2. 2

    Check who you are paying

    Look up a PayShap ID and see the name on the account and the bank, before you send anything.

  3. 3

    Send the payment

    One API call. Every payment has an idempotency key, so a retry can never pay the same person twice.

  4. 4

    Track it

    Check the status of any payment, look up past payments, and see your balance at any time.

Built to be safe

Test it all before real money moves

The sandbox works the same way as the live API: the same checks, the same errors and the same balance. The only difference is that no money moves.

A full sandbox

Use a test key to try every kind of payment, and every way a payment can fail, with no risk.

No double payments

Send the same idempotency key again and you get the first result back. Nobody is paid twice.

Limits you agree with us

Each account can have a daily limit and a limit per payment, so a mistake stays small.

Locked-down keys

We show your API key only once. We can lock it to the IP addresses that you call from.

A clear statement

Every deposit, payment and fee is its own line on your statement, so it is easy to reconcile.

Held at a registered bank

Your balance is kept in a business account at a registered South African bank. We check your business before you go live.

Not available yet: webhooks, batch payments and currencies other than rand. Tell us what you need.

Ready to start sending?

Tell us about your business. We will set up your sandbox key and walk you through going live.

Get API access