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)
- Get your credentials (from 2PayLer)
- Connect in Dashboard
- 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.ipCUSTOMER_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.ipCUSTOMER_NAME->customer.name(sent asfull_name)CUSTOMER_REFERENCE_ID->customer.reference_id
Additional info
- Active reconciliation is available - both Payments and Payouts support an active status request in addition to the asynchronous callback.
- 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
UAHis available - Payout rejected for missing recipient details ->
customer.nameandfields.card_numberare 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_protocolis enabled; see the Options section
Question
Still looking for help connecting your 2PayLer account? Please contact our support team!