Skip to content

Logo

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)

  1. Choose account type
  2. Get your credentials (from Platio)
  3. Connect in Dashboard
  4. 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) or P2P (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 -> Acquiring or P2P
  • 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

  1. Callback routing is automatic - Corefy generates the callback URL per transaction, for both account types, nothing to configure in Platio's own back-office.
  2. API Type (H2H Merchant account only). Acquiring processes a standard card charge against your merchant account. P2P routes 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 customer data; 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!