Nuvei (SafeCharge)
The infrastructure for every payment, everywhere
Supports in this guide: Payments, Payouts
Provider website: nuvei.com
What you need to do for start processing transactions (brief summary)
- Choose account type
- Get your credentials (from Nuvei)
- Connect in Dashboard
- Send an API request
Choose account type
Nuvei can be connected in different ways (depending on your needs):
- If you do H2H card payments, including Google Pay (card data sent directly) -> choose H2H Merchant account
- If you do payouts -> choose Provider account
If you're not sure which one to use, confirm with your Corefy account manager.
Prerequisites: get from Nuvei
Submit a connection request at nuvei.com/contact or contact your Nuvei account manager directly to get your account verified and receive the following credentials.
For H2H Merchant account:
- Merchant ID -> Corefy field
merchant_id. - Site ID -> Corefy field
merchant_site_id. - Secret Key -> Corefy field
merchant_secret_key. - PayFac Prefix (optional) -> Corefy field
pay_fac_prefix. - Google Pay MID (optional, Google Pay only) -> Corefy field
google_pay_mid. - Acquirer BIN / Acquirer Merchant ID / MPI API Key (optional) -> Corefy fields
acquirer_bin/acquirer_merchant_id/mpi_api_key-> your own acquirer/3DS identifiers, only relevant when Use External MPI is enabled (see Additional info) - ask your account manager whether your account needs this. - Acquirer Country Code / Acquirer Country Code Source (optional) -> Corefy fields
acquirer_country_code/acquirer_country_code_source.
For Provider account:
Nuvei has two generations of payout API, picked by the Use Corporate API field at connection time:
- Simple API: ID, Site ID, Secret Key -> Corefy fields
id/site_id/secret_key. - Corporate API: follow Nuvei's own instructions for client certificates, then get:
- Account Number -> Corefy field
account_number. - Private Party ID (
iss) / Corporate Party ID (sub) -> Corefy fieldsprivate_party_id/corporate_party_id. - Authorization Public Key ID / Signing Public Key ID (both labeled "Key Id" in Nuvei's portal) -> Corefy fields
auth_public_key_id/sign_public_key_id. - Authorization Private Key / Signing Private Key (file uploads, generated from the public keys above) -> Corefy fields
auth_private_key/sign_private_key. - Client Certificate (file upload) -> Corefy field
client_certificate-> generate a CSR and key, upload the CSR to Nuvei, then download the resulting certificate. - Client Private Key (file upload) -> Corefy field
client_private_key-> the key you generated alongside the CSR above.
- Account Number -> Corefy field
Payments processing (connect H2H Merchant account, create payment-invoice)
Connect H2H Merchant account in Corefy Dashboard
Step 1 - Open connection form
Open Nuvei in the provider directory and press Connect at Nuvei Provider Overview page in the New connection section. Choose H2H Merchant account.
Step 2 - Fill in fields and select settings
- Merchant ID
- Site ID
- Secret Key
- Save Instant Token
- Save OCT Token
- Dynamic Descriptor -> (enable to send a custom statement descriptor)
- PayFac Prefix (optional)
- Google Pay MID (optional, Google Pay only)
- Acquirer BIN, Acquirer Merchant ID, MPI API Key, Acquirer Country Code, Acquirer Country Code Source (optional, see Additional info)
- Test Mode -> (enable if you are using sandbox credentials)
Choose Currency and Features. USD, EUR, CAD, AUD, GBP, CHF, NZD, SGD, and PLN are confirmed; check with your Corefy account manager which are enabled for your account. If you connect Google Pay, select that feature too.
Success
You have connected Nuvei 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.
Payment - MIN
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "8e3dbbb0-17af-4c9a-bedb-93bdac6900a2",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 10,
"customer": {
"reference_id": "cus_123",
"email": "johnsmith@gmail.com"
}
}
}
}
Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "6795502c-e27d-4d07-85e0-93245aab9a3f",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 10,
"customer": {
"reference_id": "cus_123",
"email": "johnsmith@gmail.com",
"address": {
"country": "DE"
}
}
}
}
}
customer itself is required, but customer.email and customer.address.country are the only fields this connector actually reads - both fall back to the Constants below if omitted (country also falls back to the customer's detected browser country before that). This connector also supports Google Pay on this same account (no separate service code needed).
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
Options are configured on the Corefy side and affect how Corefy builds provider requests or processes responses.
Currently available options (1)
use_external_mpi- handles 3D Secure authentication through an external MPI provider instead of Nuvei's own built-in one.
use_external_mpi
What it does: routes 3D Secure authentication through a third-party 3D Secure (MPI) service, not something Corefy operates itself - it's tied to your own Acquirer BIN/Acquirer Merchant ID (your own acquirer/3DS setup), rather than Nuvei's built-in MPI.
When to use: enable it together with the Acquirer BIN, Acquirer Merchant ID, and MPI API Key fields - contact your Corefy account manager for details on getting this configured for your account.
Default: false
Allowed values: true / false
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)
EMAIL->customer.emailCOUNTRY_CODE->customer.address.countryMERCHANT_URL-> no direct request field - used only if your merchant profile has no website URL set
Payouts processing (connect Provider account, create payout-invoice)
Connect Provider account in Corefy Dashboard
Step 1 - Open connection form
Open Nuvei in the provider directory and press Connect at Nuvei Provider Overview page in the New connection section. Choose Provider account.
Step 2 - Fill in fields and select settings
- Use Corporate API -> enable for the Corporate API, leave off for the Simple API
- Simple API: ID, Site ID, Secret Key
- Corporate API: Account Number, Private Party ID, Corporate Party ID, Authorization Public Key ID, Authorization Private Key, Signing Public Key ID, Signing Private Key, Client Certificate, Client Private Key
- Test Mode -> (enable if you are using sandbox credentials)
Success
You have connected Nuvei Provider account!
First request to Corefy API (MIN)
What it does: creates a payout-invoice and sends funds to a card (Simple API) or a bank account (Corporate API).
Payout - MIN (card, Simple API)
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "0dde9e79-2c64-4703-adaf-93d710633401",
"service": "payment_card_eur",
"currency": "EUR",
"amount": 10,
"customer": {
"reference_id": "cus_123"
},
"fields": {
"card_number": "4111111111111111"
}
}
}
}
fields.card_number is required. This connector also supports card payouts in USD/GBP/CHF/PLN/MXN, and a token-based card payout (card_token) for accounts with Save OCT Token enabled.
Payout - MIN (bank transfer, Corporate API)
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "3c6d2f8e-8a2a-4e7a-9b1a-2f6a7b9c0d1e",
"service": "sepa_transfer_eur",
"currency": "EUR",
"amount": 12.5,
"fields": {
"account_number": "DE89370400440532013000",
"beneficiary_first_name": "John",
"beneficiary_last_name": "Smith"
}
}
}
}
Payout - MAX (bank transfer, Corporate API)
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "a1b2c3d4-e5f6-4789-a0b1-c2d3e4f5a6b7",
"service": "bank_transfer_eur",
"currency": "EUR",
"amount": 15,
"fields": {
"account_number": "DE89370400440532013000",
"bank_code": "ITAUBRSP",
"bank_name": "Banco do Brasil",
"bank_address": "Avenida Paulista, 1234, Sao Paulo, SP, Brazil",
"beneficiary_name": "Carlos",
"beneficiary_lastname": "Silva"
}
}
}
}
Available services on the Corporate API depend on what's enabled for your account - ask your Corefy account manager for the exact list of supported payout methods/currencies and the field names each one expects, since they can differ by destination country.
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
No Options or Constants are configured for this flow.
Additional info
- 3D Secure runs through a third-party MPI service when
use_external_mpiis enabled. It's a real third-party vendor, not something Corefy operates - it's tied to your own acquirer/3DS registration, not something Corefy provisions for you. Contact your account manager for details on getting this configured. - Callback routing is automatic - Corefy generates the callback URL per transaction, for both account types, nothing to configure in Nuvei's own back-office.
FAQ / Troubleshooting
- Invalid credentials / auth error -> verify credentials for the selected environment and account type
- 3DS-related errors with
use_external_mpienabled -> confirm your Acquirer BIN/Acquirer Merchant ID/MPI API Key are correctly set for your own acquirer/3DS registration - Currency or service is not supported -> confirm allowed currencies/features in your Nuvei account and in Corefy
- Not sure which account type to use? -> ask your Corefy account manager
Question
Still looking for help connecting your Nuvei account? Please contact our support team!