
PSPARK
Accept crypto payments from anyone anywhere
Supports in this guide: Payments, Payouts
Provider website: pspark.io
Note
PSPARK's own platform also offers cryptocurrency payment acceptance, but this specific integration with Corefy covers BLIK, bank transfer, and African mobile money (Payments), plus BLIK, card, bank transfer, M10, and African mobile money (Payouts) - not crypto.
What you need to do for start processing transactions (brief summary)
- Get your credentials (from PSPARK)
- Connect in Dashboard
- Send an API request
Prerequisites: get from PSPARK
Contact your PSPARK account manager to get your account verified and receive the following credentials.
- API Key -> Corefy field
api_key. - Public Key -> Corefy field
public_key-> paste without the-----BEGIN PUBLIC KEY-----/-----END PUBLIC KEY-----wrapper lines. - Private Key -> Corefy field
private_key-> uploaded as a file; used to sign every request. - API URL (optional) -> Corefy field
api_url-> leave as default unless your account manager tells you otherwise. - API S2S URL (optional) -> Corefy field
api_s2s_url.
Note
There is no separate Wallet ID field - Corefy automatically discovers your currency-specific wallets from PSPARK's own balance API once connected.
Payments processing (connect Provider account, create payment-invoice)
Connect Provider account in Corefy Dashboard
Step 1 - Open connection form
Open PSPARK in the provider directory and press Connect at PSPARK Provider Overview page in the New connection section. Choose Provider account.
Step 2 - Fill in fields and select settings
- API Key
- Public Key
- Private Key
- API URL (optional)
- API S2S URL (optional)
- Test Mode -> (enable if you are using sandbox credentials)
Success
You have connected PSPARK Provider account!
First request to Corefy API (MIN)
What it does: creates a payment-invoice and redirects the customer to a PSPARK-hosted page to complete the payment via BLIK, bank transfer, or African mobile money, depending on what's enabled for your account.
Payment - MIN
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "7a1c3e5f-9b0d-4a2c-8e4f-6a8c0e2f4a6c",
"service": "blik_pln_hpp",
"currency": "PLN",
"amount": 20
}
}
}
Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "8b2d4f60-0c1e-4b3d-8f5a-7b9d1f3a5c7e",
"service": "blik_pln_hpp",
"currency": "PLN",
"amount": 20,
"customer": {
"reference_id": "cus_123",
"name": "John Smith",
"email": "johnsmith@gmail.com",
"phone": "+15551234567",
"date_of_birth": "1990-01-01",
"individual_tax_id": "12345678900",
"address": {
"country": "PL",
"region": "Mazovia",
"city": "Warsaw",
"full_address": "1 Main street",
"post_code": "00-001"
},
"metadata": {
"ip": "203.0.113.5",
"client_agent": "Mozilla/5.0",
"payment_purpose": "goods",
"national_id": "32"
}
}
}
}
}
customer is entirely optional - anything you don't send falls back to the Constants 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
Constants (fallback fields)
Constants are static values that Corefy can send to the provider instead of dynamic data from your API request, when those fields are missing in the request.
Priority (predictable rule): 1. If a value is present in the request -> Corefy uses the request value 2. Else if the constant is set -> Corefy uses the constant 3. Else -> provider may reject the request or apply its defaults (depends on provider)
Currently available constants (constant -> Corefy API field)
description-> a static description sent with every payment (not tied to a request field)first_name->customer.first_namelast_name->customer.last_nameemail->customer.emailphone->customer.phonecustomer_reference_id->customer.reference_idfull_address->customer.address.full_addresscountry_code/country->customer.address.countrycity->customer.address.citypost_code->customer.address.post_coderegion->customer.address.regionstreet->customer.address.streetip->customer.metadata.ipuser_agent->customer.metadata.client_agentindividual_tax_id->customer.individual_tax_idbirth_date->customer.date_of_birthpayment_purpose->customer.metadata.payment_purposenational_id->customer.metadata.national_id
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 via BLIK, card, bank transfer, M10, or African mobile money (Airtel Money, Safaricom/M-Pesa, T-Kash), depending on what's enabled for your account. Required fields vary by method - the Dashboard shows the exact field list once a method is selected.
Payout - MIN
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "9c3e5f71-1d2e-4c4f-8a6b-8c0e2f4a6c8e",
"service": "blik_pln",
"currency": "PLN",
"amount": 20,
"fields": {}
}
}
}
Payout - MAX
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "0d4f6082-2e3f-4d5a-8b7c-9d1f3a5c7e9f",
"service": "blik_pln",
"currency": "PLN",
"amount": 20,
"customer": {
"reference_id": "cus_123",
"name": "John Smith",
"email": "johnsmith@gmail.com",
"phone": "+15551234567",
"date_of_birth": "1990-01-01",
"individual_tax_id": "12345678900",
"address": {
"country": "PL",
"region": "Mazovia",
"city": "Warsaw",
"full_address": "1 Main street",
"post_code": "00-001"
}
},
"fields": {}
}
}
}
customer is entirely optional - everything is only forwarded to PSPARK as recipient details, with the same fallback Constants as Payments. For Airtel Money, Safaricom, and T-Kash payouts specifically, a fields.phone value (if sent) takes priority over customer.phone.
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_failed-> optional, boolean - if PSPARK's initial response reports one of its known failure codes, reports the payout as a definitive failure right away instead of leaving it as a generic error.
Additional info
- Callback routing is automatic - Corefy generates the callback/return URLs per transaction, nothing to configure in PSPARK's own back-office.
- No active status checks - this connector doesn't support reconciliation for either Payments or Payouts; Corefy relies on PSPARK's callback to learn the final status.
FAQ / Troubleshooting
- Invalid credentials / auth error -> verify API Key/Public Key/Private Key for the selected environment
- Refund requested -> not supported by this connector
- Payment or payout status seems stuck -> this connector has no active status check; the result comes from PSPARK's callback, not a status poll
- Currency or service is not supported -> confirm allowed currencies/features in your PSPARK account and in Corefy
Question
Still looking for help connecting your PSPARK account? Please contact our support team!