Skip to content

WPayments

Supports in this guide: Payments, Payouts

Provider website: backoffice.wpayments.eu


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

  1. Choose account type
  2. Get your credentials (from WPayments)
  3. Connect in Dashboard
  4. 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 -> simple if your application simply redirects the customer to the 3DS challenge URL, or advanced if your application itself builds the verification form and handles ACS URL/PaReq/MD/PaRes on your side -> confirm with your WPayments account manager whether advanced is 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 -> simple or advanced
  • 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.email and customer.address are forwarded to WPayments as-is; none of them are strictly required by Corefy unless the send_customer_data option 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 to customer.email
  • REASON -> reason (payment reason/purpose)
  • COUNTRY -> country -> falls back to customer.address.country
  • CITY -> city -> falls back to customer.address.city
  • STATE -> state -> falls back to customer.address.state
  • ZIP -> zip -> falls back to customer.address.zip
  • ADDRESS -> address -> falls back to customer.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_number is required.
  • If customer.name, customer.email or customer.ip are 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 from customer.name
  • CUSTOMER_IP -> customer_ip -> falls back from customer.ip
  • CUSTOMER_EMAIL -> customer_email -> falls back from customer.email

WPayments does not support refunds for payouts.


Additional info

  1. 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_callback is enabled on the H2H side.
  2. 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.ip aren'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!