Skip to content

Logo

PayForU

Supports in this guide: Payments, Payouts

Provider website: payforu.cash


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

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

Prerequisites: get from PayForU

Contact your PayForU manager to get your account verified and receive the following credentials.

  • API key -> Corefy field api_key.
  • Signature key -> Corefy field signature_key - used by Corefy to verify the authenticity of every Payments/Payouts callback received from PayForU.
  • Currency -> Corefy field currency - the single settlement currency this account processes (UAH, RUB, KZT, or UZS). Connect a separate account per currency if you need more than one.
  • Test Mode -> Corefy field test_mode - enable if you are using sandbox credentials.

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

Connect Provider account in Corefy Dashboard

Step 1 - Open connection form

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

Step 2 - Fill in fields and select settings

  • API key
  • Signature key
  • Currency -> choose the settlement currency for this account
  • Test Mode -> (enable if you are using sandbox credentials)

Success

You have connected PayForU Provider account!


First request to Corefy API (MIN)

What it does: creates a payment-invoice for a card-to-card transfer. Corefy returns the recipient card requisites (card number and cardholder name) to the customer through the checkout/SDK layer, and later confirms the payment automatically once the transfer is detected - you don't need to branch your integration for this.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "6be05631-8710-4b14-a369-1928a2b70eda",
      "service": "card_transfer_uah_invoice",
      "currency": "UAH",
      "amount": 100
    }
  }
}

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "199be985-c243-478a-86a8-4b8c902e5bb6",
      "service": "card_transfer_uah_invoice",
      "currency": "UAH",
      "amount": 100,
      "customer": {
        "reference_id": "cus_123",
        "name": "John Doe",
        "email": "test@test.com",
        "phone": "+380501234567"
      }
    }
  }
}

Important

  • service determines both the payment currency and route - use card_transfer_uah_invoice (UAH), card_transfer_rub_invoice (RUB), card_transfer_kzt_invoice (KZT), or card_transfer_uzs_invoice (UZS).
  • Corefy polls PayForU for the card-to-card requisites after creating the invoice; once the customer completes the bank transfer, they may be asked for the last 4 digits of their own card (an optional confirmation field) before Corefy confirms the payment with PayForU.
  • None of customer.name/customer.email/customer.phone are required - if missing, they are simply omitted from the request to PayForU; there is no hardcoded placeholder fallback for any of them.

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


Refunds

PayForU does not support refunds on Payments - the payment integration has no refund capability wired up.


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

Connect Provider account in Corefy Dashboard

Uses the same Provider account connected above - no separate connection step.

First request to Corefy API (MIN)

What it does: creates a payout-invoice for a card-to-card bank payout.

Payout - MIN

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "reference_id": "efbf0a2b-5590-42b7-b10b-94d49452147d",
      "service": "payment_card_uah",
      "currency": "UAH",
      "amount": 150,
      "fields": {
        "card_number": "4111111111111111"
      }
    }
  }
}

Payout - MAX

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "reference_id": "efbf0a2b-5590-42b7-b10b-94d49452147d",
      "service": "payment_card_uah",
      "currency": "UAH",
      "amount": 150,
      "customer": {
        "reference_id": "cus_123",
        "name": "John Doe",
        "email": "test@test.com"
      },
      "fields": {
        "card_number": "4111111111111111"
      }
    }
  }
}

Important

  • fields.card_number is required - it is the recipient card PayForU transfers the payout to.
  • service determines the payout currency - use payment_card_uah (UAH), payment_card_rub (RUB), or payment_card_kzt (KZT). Within a currency, Corefy automatically routes the payout to a bank currently enabled live on your PayForU account - you don't choose the bank explicitly.
  • customer.name/customer.email are optional and simply omitted if not provided - there is no hardcoded placeholder fallback for either.

Refunds

PayForU does not support refunds on Payouts.


Additional info

  1. Active reconciliation is available on both Payments and Payouts - PayForU supports both an asynchronous callback and an active status request that Corefy can use to finalize a transaction.
  2. No recurring - this connector does not support saving or charging a stored payment token through Corefy.
  3. Callback signature verification - Corefy verifies every Payments and Payouts callback from PayForU against your Signature key before accepting it.
  4. Single-currency accounts - each connected PayForU account processes one settlement currency only (set via the currency field at connect time); connect a separate account per currency you need to support.

FAQ / Troubleshooting

  • Connection test fails / invalid credentials -> verify the API key matches the selected environment (test_mode on/off)
  • Callback rejected as invalid signature -> confirm the Signature key on the account matches the one issued by PayForU
  • Payment stuck waiting for requisites -> PayForU did not return card-to-card requisites in time; verify the requested service/currency matches your account's configured currency
  • Refund requested -> not supported for this connector, on either Payments or Payouts
  • Payout declined immediately -> the requested currency's bank route is not currently enabled live on your PayForU account

Question

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