Skip to content

Logo

Spush

Simplifying Your Digital Finance

Supports in this guide: Payments, Payouts

Provider website: spush.co.uk


What you need to do for start processing transactions (brief summary)

  1. Get your credentials (from Spush)
  2. Connect in Dashboard
  3. Send an API request

Prerequisites: get from Spush

Contact your Spush account manager to get your account verified and receive the following credentials. One Provider account connection covers both Payments and Payouts.

  • Merchant ID -> Corefy field merchant_id.
  • Client ID -> Corefy field client_id.
  • Client Secret -> Corefy field client_secret.
  • Payment Signature Key -> Corefy field payment_key.
  • Webhook Signature Key -> Corefy field webhook_key.
  • API URL (optional) -> Corefy field api_url -> leave as default unless your account manager tells you otherwise.

Note

Available currencies/wallets are auto-discovered from your Spush account at connection time, based on which wallets you hold with them.


Payments processing (connect Provider account, create payment-invoice)

Connect Provider account in Corefy Dashboard

Step 1 - Open connection form

Open Spush in the provider directory and press Connect at Spush Provider Overview page in the New connection section.

Step 2 - Fill in fields and select settings

  • Merchant ID
  • Client ID
  • Client Secret
  • Payment Signature Key
  • Webhook Signature Key
  • API URL (optional)
  • Test Mode -> (enable if you are using sandbox credentials)

Success

You have connected Spush Provider account!


First request to Corefy API (MIN)

What it does: creates a payment-invoice and redirects the customer to a Spush-hosted session, where they log into their own Spush wallet to pay.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "8b9c0d12-3e4f-4a5b-8c67-8d9e0f1a2b3c",
      "service": "spush_pay_eur_invoice",
      "currency": "EUR",
      "amount": 10
    }
  }
}

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "9c0d1e23-4f5a-4b6c-8d78-9e0f1a2b3c4d",
      "service": "spush_pay_eur_invoice",
      "currency": "EUR",
      "amount": 10,
      "metadata": {
        "invoice_number": "INV-00123"
      }
    }
  }
}

Important

customer isn't used at all for Payments - the customer authenticates directly with their own Spush wallet on the hosted session. metadata is only relevant if you've set the payment_purpose option (see below).


Extended request (MAX)

Why add extra fields (typical reasons): - Provide additional customer details for compliance/reconciliation - Positively influence conversion rate - Include optional fields required by your specific flow

No Constants are configured for this connector.


Options

  • session_lifetime -> optional, number (minutes) - how long the hosted payment session stays valid; if omitted, uses Corefy's own standard invoice expiry instead.
  • pass_return_urls -> optional, boolean - sends your own success/reject return URLs to Spush so the customer is redirected back after paying; if disabled, no redirect URLs are sent.
  • payment_purpose -> optional, string - the name of a metadata key; whatever value you send under that key in metadata is forwarded to Spush as the payment reference/description. For example, setting this to invoice_number and sending metadata.invoice_number in your request forwards that value as the reference shown to the customer.

Refunds

This connector does not support refunds.


Payouts processing (connect Provider account, create payout-invoice)

Connect Provider account in Corefy Dashboard

Uses the same Provider account connection as Payments above - one connection covers both directions, nothing extra to fill in for payouts specifically.


First request to Corefy API (MIN)

What it does: creates a payout-invoice and sends funds directly to the recipient's own Spush wallet account number.

Payout - MIN

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "reference_id": "0d1e2f34-5a6b-4c7d-8e89-0f1a2b3c4d5e",
      "service": "spush_pay_eur",
      "currency": "EUR",
      "amount": 10,
      "fields": {
        "account_number": "20197800410000000170"
      }
    }
  }
}

Important

fields.account_number (the recipient's Spush account number) is required.

Payout - MAX

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "reference_id": "1e2f3a45-6b7c-4d8e-8f90-1a2b3c4d5e6f",
      "service": "spush_pay_eur",
      "currency": "EUR",
      "amount": 10,
      "metadata": {
        "payout_reason": "Affiliate payout"
      },
      "fields": {
        "account_number": "20197800410000000170"
      }
    }
  }
}

customer isn't used for Payouts either - only fields.account_number identifies the recipient.


Extended request (MAX)

Why add extra fields (typical reasons): - Provide additional customer details for compliance/reconciliation - Positively influence conversion rate - Include optional fields required by your specific flow


Options

  • payout_purpose_key -> optional, string - same mechanism as payment_purpose above, but for Payouts: the name of a metadata key whose value is forwarded to Spush as the payout reference.

Additional info

  1. Callback routing is automatic - Corefy generates the callback/return URLs per transaction, nothing to configure in Spush's own back-office.
  2. Active reconciliation is available - both Payments and Payouts support an active status request, in addition to the asynchronous callback.
  3. No refunds - this connector does not support refunds through Corefy.

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify Merchant ID/Client ID/Client Secret/Payment Signature Key/Webhook Signature Key for the selected environment
  • Reference/description not showing up on Spush's side -> make sure payment_purpose/payout_purpose_key is set to the exact metadata key you're sending the value under
  • Refund request fails -> refunds aren't supported by this connector
  • Currency or service is not supported -> confirm the currency is enabled on your Spush account and in Corefy

Question

Still looking for help connecting your Spush account? Please contact our support team!