Platio
Adapt, innovate, and thrive with more value from every transaction flowing through your business
Supports in this guide: Payments, Payouts
Provider website: platio.com
What you need to do for start processing transactions (brief summary)
- Choose account type
- Get your credentials (from Platio)
- Connect in Dashboard
- Send an API request
Choose account type
Platio can be connected in different ways (depending on your needs):
- If you do H2H card payments (card data sent directly) -> choose H2H Merchant account
- If you do SBP (Russia) payments, or payouts (card, QIWI, YooMoney, bank transfer) -> choose Provider account
If you're not sure which one to use, confirm with your Corefy account manager.
Prerequisites: get from Platio
Submit a connection request at platio.com/contact-sales or contact your Platio account manager directly to get your account verified and receive the following credentials.
For H2H Merchant account:
- Account ID -> Corefy field
id. - Secret Key -> Corefy field
secret_key. - Secret Key Return URL -> Corefy field
secret_key_return_url. - API Type -> Corefy field
api_type->Acquiring(standard card charge) orP2P(card-to-card). - API URL (optional) -> Corefy field
api_url. - Send Merchant URL (optional) -> Corefy field
send_merchant_url-> enables sending your website URL to Platio.
For Provider account:
- Account ID -> Corefy field
id. - Secret Key -> Corefy field
secret_key. - Secret Key Return URL -> Corefy field
secret_key_return_url. - Payment System -> Corefy field
sp_payment_system-> a value Platio gives you identifying your connected payment system.
Payments processing (connect H2H Merchant account, create payment-invoice)
Connect H2H Merchant account in Corefy Dashboard
Step 1 - Open connection form
Open Platio in the provider directory and press Connect at Platio Provider Overview page in the New connection section. Choose H2H Merchant account.
Step 2 - Fill in fields and select settings
- Account ID
- Secret Key
- Secret Key Return URL
- API Type ->
AcquiringorP2P - Save Instant Token
- API URL (optional)
- Send Merchant URL (optional)
- Test Mode -> (enable if you are using sandbox credentials)
Choose Currency and Features. RUB, USD, EUR, and KZT are confirmed; check with your Corefy account manager which are enabled for your account.
Success
You have connected Platio H2H Merchant account!
First request to Corefy API (MIN)
What it does: creates a payment-invoice; card data itself is collected and submitted separately by Corefy's checkout/SDK layer, not as part of this request.
Payment - MIN
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "8e3dbbb0-17af-4c9a-bedb-93bdac6900a2",
"service": "payment_card_rub_hpp",
"currency": "RUB",
"amount": 1000
}
}
}
Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "6795502c-e27d-4d07-85e0-93245aab9a3f",
"service": "payment_card_rub_hpp",
"currency": "RUB",
"amount": 1000,
"customer": {
"reference_id": "cus_123",
"name": "John Smith",
"email": "johnsmith@gmail.com",
"phone": "+15551234567",
"metadata": {
"ip": "212.42.206.42"
}
},
"metadata": {
"merchant_url": "https://example.com"
}
}
}
}
Important
customer is entirely optional - there are no Constants on this flow, so anything you don't send (name/email/phone) is replaced with a fixed placeholder (a generic email and a Ukrainian-format dummy phone number) rather than failing the request. Always send real values for production traffic. metadata.merchant_url (top-level, not customer.metadata) is only sent to Platio if Send Merchant URL is enabled on the connection - otherwise it's left out of the request entirely, even if your merchant profile has a website URL set.
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
Options are configured on the Corefy side and affect how Corefy builds provider requests or processes responses.
Currently available options (1)
ignore_callback- tells Corefy to disregard Platio's own callback notifications entirely.
ignore_callback
What it does: when enabled, Corefy ignores callback notifications sent by Platio for this connection, relying on status checks/reconciliation instead.
When to use: enable only if instructed by Platio or your Corefy account manager.
Default: false
Allowed values: true / false
No Constants are configured for this flow.
Payments processing (connect Provider account, create payment-invoice)
Connect Provider account in Corefy Dashboard
Step 1 - Open connection form
Open Platio in the provider directory and press Connect at Platio Provider Overview page in the New connection section. Choose Provider account.
Step 2 - Fill in fields and select settings
- Account ID
- Secret Key
- Secret Key Return URL
- Payment System
- API URL (optional)
- Test Mode -> (enable if you are using sandbox credentials)
Success
You have connected Platio Provider account!
First request to Corefy API (MIN)
What it does: creates a payment-invoice and returns a redirect link to Platio's SBP (Russia's Faster Payments System) page.
Payment - MIN
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "8e3dbbb0-17af-4c9a-bedb-93bdac6900a2",
"service": "sbp_rub_hpp",
"currency": "RUB",
"amount": 1000
}
}
}
Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "6795502c-e27d-4d07-85e0-93245aab9a3f",
"service": "sbp_rub_hpp",
"currency": "RUB",
"amount": 1000,
"customer": {
"reference_id": "cus_123",
"email": "johnsmith@gmail.com",
"phone": "+15551234567"
}
}
}
}
customer is optional - if you omit customer.email/customer.phone, Corefy generates a random (not fixed) customer identity rather than failing the request. metadata.merchant_url is always sent to Platio on this flow (unlike the H2H Merchant account above, there's no toggle for it here) - it falls back to your merchant profile's website URL if you don't set it.
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
Options are configured on the Corefy side and affect how Corefy builds provider requests or processes responses. Available only for sbp_rub_hpp.
Currently available options (1)
direct_sbp_form- changes how Corefy requests the SBP payment form from Platio.
direct_sbp_form
What it does: false (default) processes the payment without an additional request. true makes Corefy send an extra parameter request to Platio as part of creating the form.
When to use: enable only if instructed by Platio or your Corefy account manager.
Default: false
Allowed values: true / false
No Constants are configured for this flow.
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, there's nothing extra to fill in for payouts specifically.
First request to Corefy API (MIN)
What it does: creates a payout-invoice and sends funds to a card, QIWI wallet, YooMoney account, or bank account (IBAN).
Payout - MIN (card)
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "0dde9e79-2c64-4703-adaf-93d710633401",
"service": "payment_card_rub",
"currency": "RUB",
"amount": 1000,
"customer": {
"reference_id": "cus_123"
},
"fields": {
"card_number": "4111111111111111"
}
}
}
}
fields.card_number is required. For USD/EUR card payouts specifically, Corefy also resolves a cardholder name and expiry date automatically (from fields.card_holder if you send it, otherwise generated) - for other currencies neither is needed.
Payout - MIN (QIWI)
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "3c6d2f8e-8a2a-4e7a-9b1a-2f6a7b9c0d1e",
"service": "qiwi_rub",
"currency": "RUB",
"amount": 1000,
"customer": {
"reference_id": "cus_123",
"name": "John Smith",
"phone": "+79991234567",
"email": "johnsmith@gmail.com"
},
"fields": {
"wallet_id": "+79991234567"
}
}
}
}
fields.wallet_id (the QIWI wallet identifier) is required; customer is optional.
Payout - MIN (YooMoney)
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "7976b4ce-fadd-4585-baa0-6b02c65351dc",
"service": "yoomoney_rub",
"currency": "RUB",
"amount": 1000,
"customer": {
"reference_id": "cus_123"
},
"fields": {
"account_number": "4100116543210"
}
}
}
}
fields.account_number (the YooMoney account number) is required.
Payout - MIN (bank transfer, IBAN)
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "a1b2c3d4-e5f6-4789-a0b1-c2d3e4f5a6b7",
"service": "bank_transfer_eur",
"currency": "EUR",
"amount": 10,
"customer": {
"reference_id": "cus_123"
},
"fields": {
"iban": "DE89370400440532013000",
"first_name": "John",
"last_name": "Smith",
"country": "DE",
"city": "Berlin",
"street": "1 Main street"
}
}
}
}
fields.iban/first_name/last_name/country/city/street describe the bank transfer 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
Options are configured on the Corefy side and affect how Corefy builds provider requests or processes responses. Available only for payment_card_usd/payment_card_eur.
Currently available options (1)
generate_random_cardholder_data- replaces an invalid-looking cardholder name/expiry with a generated one instead of sending it as-is.
generate_random_cardholder_data
What it does: when enabled, Corefy checks the resolved cardholder name and expiry date for validity; if either looks malformed, it's replaced with a generated name/expiry instead of being sent to Platio unchanged.
When to use: enable it if you're seeing card payouts rejected over the cardholder name or expiry format.
Default: false
Allowed values: true / false
No Constants are configured for this flow.
Additional info
- Callback routing is automatic - Corefy generates the callback URL per transaction, for both account types, nothing to configure in Platio's own back-office.
- API Type (H2H Merchant account only).
Acquiringprocesses a standard card charge against your merchant account.P2Proutes the same card-data flow as a card-to-card transfer instead - ask your account manager which one matches your use case.
FAQ / Troubleshooting
- Invalid credentials / auth error -> verify credentials for the selected environment and account type
- H2H payment accepted with wrong customer data -> always send real
customerdata; omitted fields are silently replaced by a fixed placeholder rather than failing - Currency or service is not supported -> confirm allowed currencies/features in your Platio account and in Corefy
- Not sure which account type to use? -> ask your Corefy account manager
Question
Still looking for help connecting your Platio account? Please contact our support team!