
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)
- Get your credentials (from Spush)
- Connect in Dashboard
- 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 ametadatakey; whatever value you send under that key inmetadatais forwarded to Spush as the payment reference/description. For example, setting this toinvoice_numberand sendingmetadata.invoice_numberin 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 aspayment_purposeabove, but for Payouts: the name of ametadatakey whose value is forwarded to Spush as the payout reference.
Additional info
- Callback routing is automatic - Corefy generates the callback/return URLs per transaction, nothing to configure in Spush's own back-office.
- Active reconciliation is available - both Payments and Payouts support an active status request, in addition to the asynchronous callback.
- 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_keyis set to the exactmetadatakey 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!