WPayments
Supports in this guide: Payments, Payouts
Provider website: backoffice.wpayments.eu
What you need to do for start processing transactions (brief summary)
- Choose account type
- Get your credentials (from WPayments)
- Connect in Dashboard
- Send an API request
Choose account type
WPayments can be connected in different ways (depending on your needs):
- If you do card payments -> choose H2H Merchant account
- If you do card payouts -> choose Provider account
WPayments does not currently support payments through a Provider account, or payouts through the H2H Merchant account. If you're not sure which one to use, confirm with your Corefy account manager.
Note
If you need to whitelist IPs on WPayments's side, ask your account manager and provide Corefy's IP list from the integration docs.
Prerequisites: get from WPayments
Contact your WPayments account manager (via your WPayments backoffice) to get your account verified and receive the following credentials. H2H Merchant account and Provider account are separate connections with independent credentials.
For H2H Merchant account:
- Shop ID -> Corefy field
shop_id. - Public key -> Corefy field
public_key. - Secret key -> Corefy field
secret_key. - 3DS mode -> Corefy field
three_ds_mode->simpleif your application simply redirects the customer to the 3DS challenge URL, oradvancedif your application itself builds the verification form and handles ACS URL/PaReq/MD/PaRes on your side -> confirm with your WPayments account manager whetheradvancedis available for your account.
Note
If you generate new keys in your WPayments backoffice, you'll need to update the credentials in your Corefy connection too.
For Provider account:
- Shop ID -> Corefy field
shop_id. - Secret key -> Corefy field
secret_key. - Public key -> Corefy field
public_key. - Live URL (optional) -> Corefy field
live_url-> leave as default unless your account manager tells you otherwise.
H2H Merchant account: RUB, EUR. Provider account: available currencies/services depend on the routes configured for your account.
Payments processing (connect H2H Merchant account, create payment-invoice)
Connect H2H Merchant account in Corefy Dashboard
Step 1 - Open connection form
Open WPayments in the provider directory and press Connect at WPayments Provider Overview page in the New connection section. Choose H2H Merchant account.
Step 2 - Fill in fields and select settings
- Shop ID
- Public key
- Secret key
- 3DS mode ->
simpleoradvanced - Test Mode -> (enable if you are using sandbox credentials)
- Currency / Features -> choose values available for your account (RUB, EUR)
Success
You have connected WPayments 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. WPayments may return a 3D Secure challenge redirect depending on the card and your three_ds_mode setting.
Payment - MIN
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "7a8b9c0d-1e2f-4a3b-8c04-7d8e9f0a1b2c",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 10
}
}
}
Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "8b9c0d1e-2f3a-4b4c-8d15-8e9f0a1b2c3d",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 10,
"description": "Order #123",
"customer": {
"reference_id": "cus_123",
"email": "john@example.com",
"address": {
"country": "DE",
"city": "Berlin",
"state": "Berlin",
"zip": "10115",
"street": "Main street 1"
}
}
}
}
}
Important
customer.emailandcustomer.addressare forwarded to WPayments as-is; none of them are strictly required by Corefy unless thesend_customer_dataoption below requires them.- A client IP is forwarded automatically with every request.
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
ignore_callback-> optional, boolean - excludes WPayments's asynchronous callback from finalizing the payment; only an active status request (reconciliation) will do so. Useful for cascading, where you don't want an out-of-order callback changing the transaction status.send_customer_data-> optional, boolean - additionally sends customer details (name, email, address) collected from the request to WPayments.
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 -> WPayments parameter)
IP->ip(client IP; falls back to the request user IP)DESCRIPTION->description(payment description; falls back to the request description)LANG->lang(customer's language)EMAIL->email-> falls back tocustomer.emailREASON->reason(payment reason/purpose)COUNTRY->country-> falls back tocustomer.address.countryCITY->city-> falls back tocustomer.address.citySTATE->state-> falls back tocustomer.address.stateZIP->zip-> falls back tocustomer.address.zipADDRESS->address-> falls back tocustomer.address.street
Refunds
WPayments supports partial refunds, but only one refund per payment (no multiple partial refunds against the same payment).
Payouts processing (connect Provider account, create payout-invoice)
Connect Provider account in Corefy Dashboard
Step 1 - Open connection form
Open WPayments in the provider directory and press Connect at WPayments Provider Overview page in the New connection section. Choose Provider account.
Step 2 - Fill in fields and select settings
- Shop ID
- Secret key
- Public key
- Live URL (optional)
- Test Mode -> (enable if you are using sandbox credentials)
Success
You have connected WPayments Provider account!
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": "9c0d1e2f-3a4b-4c5d-8e26-9f0a1b2c3d4e",
"service": "payment_card_eur",
"currency": "EUR",
"amount": 10,
"fields": {
"card_number": "4111111111111111"
}
}
}
}
Payout - MAX
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "0d1e2f3a-4b5c-4d6e-8f37-0a1b2c3d4e5f",
"service": "payment_card_eur",
"currency": "EUR",
"amount": 10,
"customer": {
"reference_id": "cus_123",
"name": "John Doe",
"email": "john@example.com",
"ip": "127.0.0.1"
},
"fields": {
"card_number": "4111111111111111"
}
}
}
}
Important
fields.card_numberis required.- If
customer.name,customer.emailorcustomer.ipare missing, Corefy does not leave those fields empty - it falls back to the Constants below, and if a constant isn't set either, it sends generic placeholder values (John Doe/john@example.com/127.0.0.1) to WPayments instead. Send real customer data to avoid this.
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
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.
After the successful connection, fill in constants for the necessary routes in the editing menu.
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 -> Corefy falls back to a generic placeholder value (see above)
Currently available constants (constant -> WPayments parameter)
DESCRIPTION->description(payout description)CUSTOMER_NAME->customer_name-> falls back fromcustomer.nameCUSTOMER_IP->customer_ip-> falls back fromcustomer.ipCUSTOMER_EMAIL->customer_email-> falls back fromcustomer.email
WPayments does not support refunds for payouts.
Additional info
- Callbacks and active reconciliation are both available on the H2H Merchant account and the Provider account - Corefy finalizes transactions via the asynchronous callback by default, with an active status request also available, unless
ignore_callbackis enabled on the H2H side. - No recurring - this connector does not support saving/charging a token through Corefy.
FAQ / Troubleshooting
- Invalid credentials / auth error -> verify the credentials for the selected account type and environment - H2H Merchant account and Provider account use separate credential sets
- Refund fails with multiple attempts -> only one refund per payment is allowed, and only on the H2H Merchant account - payouts do not support refunds at all
- Payout recipient data looks wrong -> if
customer.name/customer.email/customer.iparen't sent and no matching Constant is set, generic placeholder values are sent instead - send real customer data or set Constants - Currency or service is not supported -> confirm allowed currencies/features in your WPayments account and in Corefy
- Not sure which account type to use? -> H2H Merchant account is for card Payments; Provider account is for card Payouts
Question
Still looking for help connecting your WPayments account? Please contact our support team!