Skip to content

2PayLer

Ultimate Open Banking

Supports in this guide: Payments, Payouts

Provider website: 2payler.cash


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

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

Prerequisites: get from 2PayLer

Send a connection request at 2payler.cash or contact your 2PayLer account manager directly to get your account verified and receive the following credentials.

  • API key -> Corefy field api_key.
  • Secret key -> Corefy field secret_key.

One Provider account is used for both Payments and Payouts. UAH only.


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

Connect Provider account in Corefy Dashboard

Step 1 - Open connection form

Open 2PayLer in the provider directory and press Connect at 2PayLer Provider Overview page in the New connection section.

Step 2 - Fill in fields and select settings

  • API key
  • Secret key

Success

You have connected 2PayLer Provider account!


First request to Corefy API (MIN)

What it does: creates a payment-invoice and redirects the customer to 2PayLer's hosted deposit form. A second service, card_transfer_uah_invoice, works the same way but returns payment details for the customer to confirm instead of a redirect.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "b4080027-761a-443a-915f-64be6b893f64",
      "service": "card_transfer_uah_hpp",
      "currency": "UAH",
      "amount": 600,
      "customer": {
        "reference_id": "cus_123"
      }
    }
  }
}

Important

customer.reference_id is required.

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "a1b2c3d4-5e6f-4789-8a02-5b6c7d8e9f0a",
      "service": "card_transfer_uah_hpp",
      "currency": "UAH",
      "amount": 600,
      "customer": {
        "reference_id": "cus_123",
        "metadata": {
          "ip": "203.0.113.10"
        }
      }
    }
  }
}

Important

customer.metadata.ip (not a dedicated top-level field) is sent to 2PayLer as the customer's IP address, falling back to the USER_IP Constant if not provided.


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

  • finalize_by_protocol -> optional, boolean - 2PayLer's own "fail" status isn't always final and can later turn into success on their side. By default, Corefy uses a lenient status mapping that accounts for this; enabling this option switches to a strict mapping that treats 2PayLer's fail/success statuses as final immediately. Enable only if you're fine with the risk of a status later turning out to have been wrong.

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)

  • USER_IP -> customer.metadata.ip
  • CUSTOMER_REFERENCE_ID -> customer.reference_id

Refunds

2PayLer does not support refunds.


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 and sends funds directly to a card.

Payout - MIN

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "reference_id": "f83224da-1bf4-4d07-8d79-a64700505c5a",
      "service": "payment_card_uah",
      "currency": "UAH",
      "amount": 500,
      "customer": {
        "reference_id": "cus_123",
        "name": "Test Test"
      },
      "fields": {
        "card_number": "4111111111111111"
      }
    }
  }
}

Important

customer.reference_id, customer.name, and fields.card_number are all required.

Payout - MAX

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "reference_id": "6f7a8b9c-0d1e-4f20-8b13-6c7d8e9f0a1b",
      "service": "payment_card_uah",
      "currency": "UAH",
      "amount": 500,
      "customer": {
        "reference_id": "cus_123",
        "name": "Test Test",
        "metadata": {
          "ip": "203.0.113.10"
        }
      },
      "fields": {
        "card_number": "4111111111111111"
      }
    }
  }
}


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

  • finalize_by_protocol -> optional, boolean - same mechanism as on Payments: switches payout status mapping from lenient (default) to strict.

Constants (fallback fields)

Currently available constants (constant -> Corefy API field)

  • USER_IP -> customer.metadata.ip
  • CUSTOMER_NAME -> customer.name (sent as full_name)
  • CUSTOMER_REFERENCE_ID -> customer.reference_id

Additional info

  1. Active reconciliation is available - both Payments and Payouts support an active status request in addition to the asynchronous callback.
  2. No recurring - this connector does not support saving/charging a token through Corefy.

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify the API key and Secret key
  • Currency or service is not supported -> confirm allowed currencies/features in your 2PayLer account and in Corefy - only UAH is available
  • Payout rejected for missing recipient details -> customer.name and fields.card_number are required for every payout
  • Refund fails -> 2PayLer does not support refunds through Corefy
  • Status later contradicts what you already received -> this is expected unless finalize_by_protocol is enabled; see the Options section

Question

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