Nuvei REST gateway guide

Adding a Nuvei REST gateway

To add a Nuvei Gateway

curl https://core.spreedly.com/v1/gateways.xml \
  -u '{environment_key}:{access_secret}' \
  -H 'Content-Type: application/xml' \
  -d '<gateway>
        <gateway_type>nuvei</gateway_type>
        <merchant_id>Your merchant id</merchant_id>
        <merchant_site_id>Your merchant site id</merchant_site_id>
    		<secret_key>Your secret key</secret_key>
      </gateway>'
<gateway>
  <token>2FB23SDPYZ997SPM9NGNM8BFN0</token>
  <gateway_type>nuvei</gateway_type>
  <name>Nuvei</name>
  <description nil="true"/>
  <merchant_profile_key nil="true"/>
  <sub_merchant_key nil="true"/>
  <characteristics>
    <supports_purchase type="boolean">true</supports_purchase>
    <supports_authorize type="boolean">true</supports_authorize>
    <supports_capture type="boolean">true</supports_capture>
    <supports_credit type="boolean">true</supports_credit>
    <supports_general_credit type="boolean">true</supports_general_credit>
    <supports_void type="boolean">true</supports_void>
    <supports_adjust type="boolean">false</supports_adjust>
    <supports_verify type="boolean">true</supports_verify>
    <supports_reference_purchase type="boolean">false</supports_reference_purchase>
    <supports_purchase_via_preauthorization type="boolean">false</supports_purchase_via_preauthorization>
    <supports_offsite_purchase type="boolean">false</supports_offsite_purchase>
    <supports_offsite_authorize type="boolean">false</supports_offsite_authorize>
    <supports_offsite_synchronous_purchase type="boolean">false</supports_offsite_synchronous_purchase>
    <supports_offsite_synchronous_authorize type="boolean">false</supports_offsite_synchronous_authorize>
    <supports_3dsecure_purchase type="boolean">false</supports_3dsecure_purchase>
    <supports_3dsecure_authorize type="boolean">false</supports_3dsecure_authorize>
    <supports_3dsecure_2_mpi_purchase type="boolean">false</supports_3dsecure_2_mpi_purchase>
    <supports_3dsecure_2_mpi_authorize type="boolean">false</supports_3dsecure_2_mpi_authorize>
    <supports_store type="boolean">true</supports_store>
    <supports_remove type="boolean">false</supports_remove>
    <supports_fraud_review type="boolean">false</supports_fraud_review>
    <supports_network_tokenization type="boolean">false</supports_network_tokenization>
    <supports_populate_mit_fields type="boolean">true</supports_populate_mit_fields>
    <supports_inquire_by_gateway_transaction_id type="boolean">false</supports_inquire_by_gateway_transaction_id>
    <supports_inquire_by_order_id type="boolean">false</supports_inquire_by_order_id>
    <supports_transaction_retry type="boolean">false</supports_transaction_retry>
    <supports_stored_stored_credentials type="boolean">false</supports_stored_stored_credentials>
    <supports_stored_credentials type="boolean">true</supports_stored_credentials>
    <supports_card_scheme_ntid type="boolean">true</supports_card_scheme_ntid>
  </characteristics>
  <credentials>
  </credentials>
  <gateway_settings>
  </gateway_settings>
  <gateway_specific_fields>
    <gateway_specific_field>user_token_id</gateway_specific_field>
    <gateway_specific_field>is_partial_approval</gateway_specific_field>
    <gateway_specific_field>related_transaction_id</gateway_specific_field>
    <gateway_specific_field>save_payment_method</gateway_specific_field>
  </gateway_specific_fields>
  <payment_methods>
    <payment_method>credit_card</payment_method>
    <payment_method>bank_account</payment_method>
    <payment_method>apple_pay</payment_method>
    <payment_method>google_pay</payment_method>
  </payment_methods>
  <state>retained</state>
  <redacted type="boolean">false</redacted>
  <sandbox type="boolean">false</sandbox>
  <mode>default</mode>
  <created_at type="dateTime">2024-10-31T15:19:34Z</created_at>
  <updated_at type="dateTime">2024-10-31T15:19:34Z</updated_at>
</gateway>

To learn more about creating and managing gateways in our Marketplace, review the Gateway user guide. For gateways not included in the Marketplace, review the steps below.

Create a gateway

Visit your Connections area to review all gateways and add new ones. When creating your gateways, select the gateway name and authentication mode (if prompted) before completing required fields. Select ☑️Sandbox to create a gateway in Sandbox mode, for processing test card data and transactions in your Spreedly environment.

Gateway Specific Fields

When interacting with a Nuvei gateway to run transactions, there are several gateway specific fields you can specify.

When making any request you can specify user_token_id; this maps to the gateway's userTokenId field. It is the unique customer identifier the in merchant system. It is a required field for processing Payouts through Spreedly's General Credit transaction type.

When making purchase/payment request to process a partial approval transaction, you should specify is_partial_approval as true (boolean); this maps to the gateway's isPartialApproval field.

When making any request you can specify save_payment_method to false (boolean) to override the default store/register of the payment method.

When making a 3DS Gateway Specific request you can specify force_3d_securefield, as true or false (boolean), this maps to the gateway's challengePreference field to set 01 – Challenge or 02 – Exemptionvalues.

When making any request especially for Stored Credentials you can specify authentication_only_type field, this maps to the gateway's authenticationOnlyType field. The allowed vales are RECURRING, INSTALLMENTS or ADDCARD.

When making 3DS Global requests you can specify challenge_preference; this maps to the gateway's challengePreference field. The use of this parameter is only for "advanced" situations to force 3DS exemptions or challenges.

When making 3DS Global requests you can specify exemption_request_reason; this maps to the gateway's exemptionRequestReason field. The use of this parameter is required if challengePreference= ExemptionRequest. Possible values: AddCard, AccountVerification, LowValuePayment, or TransactionRiskAnalysis.

When making any request, you can specify Gateway Specific Field is_aft as true (boolean), which allows Account Funding Transactions (AFTs) to be sent. For more information, please refer to the Gateway's AFT guide.. In addition to supporting non-domestic AFT requests, you should send the recipient information in the following Gateway Specific Fields: aft_recipient_first_name and aft_recipient_last_name

When making a payout request, you have to specify Gateway specific field is_payout as true (boolean), which allows payout to be sent. For more information, refer to the Gateway's Payout guide.

When making any request with amount 0 you can specify perform_name_verification field, which allows Cardholder Name Verification, For more information, please refer to the Gateway's guide.

Third-party 3D Secure Auth Data

Spreedly will automatically handle the field mapping for sending third-party 3DS2 authentication data to Nuvei. For more information about how to use this feature, see the 3DS2 Third-party Authentication Guide. Spreedly fields map to the relevant Nuvei fields as described in the following table. Please see Nuvei’s third-party 3DS2 documentation for detailed descriptions of each of these fields and when to use them.

Spreedly fieldNuvei field
ecieci
cavvcavv
ds_transaction_iddsTransId
challenge_preference (GSF)challengePreference
exemption_request_reason(GSF)exemptionRequestReason

3DS Request

curl https://core.spreedly.test/v1/gateways/{gateway_token}/purchase.xml \
-u '{environment_key}:{access_secret}' \
-H 'Content-Type: application/xml' \
-d '<transaction>
    <amount>100</amount>
    <currency_code>USD</currency_code>
    <payment_method_token>EyjG8inHFr89M2R06xIb1YOOYt6</payment_method_token>
    <email>[email protected]</email>
    <retain_on_success>true</retain_on_success>
    <ip>127.0.0.1</ip>
    <three_ds>
        <ecommerce_indicator>05</ecommerce_indicator>
        <authentication_value>e1E3SN0xF1lDp9js723iASu3wrA=</authentication_value>
        <directory_server_transaction_id>ODUzNTYzOTcwODU5NzY3Qw==</directory_server_transaction_id>
    </three_ds>
</transaction>
'

Response

<transaction>
  <on_test_gateway type="boolean">true</on_test_gateway>
  <created_at type="dateTime">2024-11-06T14:22:12Z</created_at>
  <updated_at type="dateTime">2024-11-06T14:22:17Z</updated_at>
  <succeeded type="boolean">true</succeeded>
  <state>succeeded</state>
  <token>PHe4ytVmRe8UOr5xhVX87TV0XZS</token>
  <transaction_type>Purchase</transaction_type>
  <order_id>b421eb9d6f02579156027af691cebe6c69d7c93c601896694d7f3c55c8af518d</order_id>
  <ip>127.0.0.1</ip>
  <description nil="true"/>
  <email>[email protected]</email>
  <merchant_name_descriptor nil="true"/>
  <merchant_location_descriptor nil="true"/>
  <merchant_profile_key nil="true"/>
  <gateway_specific_fields nil="true"/>
  <gateway_specific_response_fields>
    <nuvei>
      <requested_amount>100</requested_amount>
      <requested_currency>USD</requested_currency>
      <procceed_amount>100</procceed_amount>
      <procceed_currency>USD</procceed_currency>
    </nuvei>
  </gateway_specific_response_fields>
  <gateway_transaction_id>7110000000006278761</gateway_transaction_id>
  <sub_merchant_key nil="true"/>
  <gateway_latency_ms type="integer">1667</gateway_latency_ms>
  <warning nil="true"/>
  <application_id nil="true"/>
  <risk_data nil="true"/>
  <merchant_metadata nil="true"/>
  <customer_data nil="true"/>
  <order_data nil="true"/>
  <workflow_key nil="true"/>
  <amount type="integer">100</amount>
  <local_amount nil="true"/>
  <currency_code>USD</currency_code>
  <retain_on_success type="boolean">true</retain_on_success>
  <payment_method_added type="boolean">false</payment_method_added>
  <smart_routed type="boolean">false</smart_routed>
  <stored_credential_initiator nil="true"/>
  <stored_credential_reason_type nil="true"/>
  <stored_credential_alternate_gateway nil="true"/>
  <populate_mit_fields type="boolean">false</populate_mit_fields>
  <message key="messages.transaction_succeeded">Succeeded!</message>
  <gateway_token>6X8XDF3ZR68DJSN2QP9RF3266Z</gateway_token>
  <gateway_type>nuvei</gateway_type>
  <shipping_address>
    <name>Apple Smith</name>
    <address1>12345 Example Way</address1>
    <address2 nil="true"/>
    <city>Atlanta</city>
    <state>GA</state>
    <zip>30301</zip>
    <country>US</country>
    <phone_number nil="true"/>
  </shipping_address>
  <response>
    <success type="boolean">true</success>
    <message>APPROVED</message>
    <avs_code nil="true"/>
    <avs_message nil="true"/>
    <cvv_code nil="true"/>
    <cvv_message nil="true"/>
    <pending type="boolean">false</pending>
    <result_unknown type="boolean">false</result_unknown>
    <error_code>0</error_code>
    <error_detail nil="true"/>
    <cancelled type="boolean">false</cancelled>
    <fraud_review nil="true"/>
    <created_at type="dateTime">2024-11-06T14:22:15Z</created_at>
    <updated_at type="dateTime">2024-11-06T14:22:17Z</updated_at>
  </response>
  <api_urls>
  </api_urls>
  <payment_method>
    <token>EyjG8inHFr89M2R06xIb1YOOYt6</token>
    <created_at type="dateTime">2024-11-06T13:30:18Z</created_at>
    <updated_at type="dateTime">2024-11-06T14:07:54Z</updated_at>
    <email>[email protected]</email>
    <data nil="true"/>
    <storage_state>retained</storage_state>
    <test type="boolean">true</test>
    <metadata>
      <key>testing apple pay</key>
      <another_key type="integer">123</another_key>
      <final_key type="boolean">true</final_key>
    </metadata>
    <callback_url nil="true"/>
    <last_four_digits>1111</last_four_digits>
    <first_six_digits>411111</first_six_digits>
    <card_type>visa</card_type>
    <first_name>Apple</first_name>
    <last_name>Smith</last_name>
    <month type="integer">12</month>
    <year type="integer">2028</year>
    <full_name>Apple Smith</full_name>
    <address1>12345 Example Way</address1>
    <address2 nil="true"/>
    <city>Atlanta</city>
    <state>GA</state>
    <zip>30301</zip>
    <country>USA</country>
    <phone_number nil="true"/>
    <company nil="true"/>
    <shipping_address1>12345 Example Way</shipping_address1>
    <shipping_address2 nil="true"/>
    <shipping_city>Atlanta</shipping_city>
    <shipping_state>GA</shipping_state>
    <shipping_zip>30301</shipping_zip>
    <shipping_country>USA</shipping_country>
    <shipping_phone_number nil="true"/>
    <eligible_for_card_updater type="boolean">false</eligible_for_card_updater>
    <payment_method_type>apple_pay</payment_method_type>
    <stored_credential_usage>
      <scheme_issued>
        <original_network_transaction_id nil="true"/>
        <network_transaction_id nil="true"/>
      </scheme_issued>
      <nuvei>
        <original_network_transaction_id nil="true"/>
        <network_transaction_id nil="true"/>
      </nuvei>
    </stored_credential_usage>
    <errors>
    </errors>
  </payment_method>
  <attempt_3dsecure type="boolean">false</attempt_3dsecure>
</transaction>
Additional notes
For every transaction, Nuvei requires an IP value to be sent. Ensure that the ip field is always included in the body of the request.

To make a straightforward purchase, simply omit the three_ds object from your request.

ACH/ Bank Account Transactions

Additional notes
- ACH only supports US-based IPs. IP addresses outside the US do not work.
- In addition to payment request responses, the system sends Direct Merchant Notifications (DMNs)  containing the transaction processing results to a specified notificationUrl provided
-  The SEC code is derived from the customer’s account type

ACH only supports US-based IPs. IP addresses outside the US do not work and the Transactions are conducted in US Dollars.

The first time a customer uses a bank account, Nuvei captures their bank account details and stores these details in an encrypted UPO (User Payment Option) record in the Nuvei system for use in future transactions.

Testing

To create a bank account (ACH) payment method, consider the following values and refer to the Spreedly API for detailed guidance.

  • Amount must be 1.25
  • Country must be US and include a state

Fields mapping

Spreedly fieldNuvei field
routing_numberRoutingNumber
account_numberAccountNumber
notification_url (GSF)urlDetails.notification_url
billing_address.countrybillingAddress.country
billing_address.statebillingAddress.state
ipdeviceDetails.ipAddress

The notification_url should be sent as a Gateway Specific Field.

ACH Request

curl https://core.spreedly.test/v1/gateways/{gateway_token}/purchase.xml \
-u '{environment_key}:{access_secret}' \
-H 'Content-Type: application/xml' \
-d '<transaction>
    <bank_account>
        <first_name>Joe</first_name>
        <last_name>Smith</last_name>
        <bank_routing_number>021000021</bank_routing_number>
        <bank_account_number>9876543210</bank_account_number>
    </bank_account>
    <amount>100</amount>
    <currency_code>USD</currency_code>
    <order_id>{{$guid}}</order_id>
    <email>[email protected]</email>
    <retain_on_success>true</retain_on_success>
    <billing_address>
        <country>US</country>
        <state>MA</state>
    </billing_address>
    <ip>127.0.0.1</ip>
</transaction>
'

Google Pay

Since Spreedly decrypts the Google Pay token, you need to collect the following details from Google Pay:

Payment Data: This includes the signature, protocolVersion, and signedMessage provided by Google Pay. These values represent the tokenized card information and the cryptogram.

Spreedly will decrypt the Google Pay data and automatically handle the mapping of the necessary fields for the required Nuvei fields, including externalTokenProvider, cryptogram, and eciProvider, as well as the basic card data.

Google Pay Request

curl https://core.spreedly.test/v1/gateways/6X8XDF3ZR68DJSN2QP9RF3266Z/purchase.xml \
-u '1B58V8AYEG8HRB4C5QE075WM3T:T9DcGB1kYyLQjlR8aQKHnbwOGowWsbeETPif2UPLEBDQVqm03Mu3UavnpMpqgwfy' \
-H 'Content-Type: application/xml' \
-d '<transaction>
    <google_pay>
        <payment_data>
            <signature>YOUR_SIGNATURE</signature>
            <protocolVersion>YOUR_PROTOCOL_VERSION</protocolVersion>
            <signedMessage>YOUR_SIGNED_MESSAGE</signedMessage>
        </payment_data>
        <first_name>Cure</first_name>
        <last_name>Tester</last_name>
        <country>USA</country>
        <number>4761344136141390</number> <!-- success -->
        <verification_value>123</verification_value>
    </google_pay>
    <amount>100</amount>
    <currency_code>USD</currency_code>
    <order_id>{{$guid}}</order_id>
    <email>[email protected]</email>
    <retain_on_success>true</retain_on_success>
    <ip>127.0.0.1</ip>
</transaction>
'

CardHolder Name Verification

Nuvei supports card scheme services that verify the name a customer provides to a merchant and matches the cardholder name on file with the card issuer. These services provide an additional security check during card onboarding and pre-transaction checks, when amount=0.

When Making a cardholder name verification you should to send the Gateway Specific Field (GSF) perform_name_verification as true (boolean), this maps to the gateway's cardHolderNameVerification.performNameVerification field.

Gateway Specific Response Fields

A response from Nuvei may contain the following fields:

Nuvei GSRFPossible values
name_verification_request_resultNameVerificationPerformed
NameVerificationNotPerformed
NameVerificationNotSupported
name_verification_resultMatch, PartialMatch, NoMatch, Unverified
first_name_verification_resultMatch, PartialMatch, NoMatch, Unverified
middle_name_verification_resultMatch, PartialMatch, NoMatch, Unverified
last_name_verification_resultMatch, PartialMatch, NoMatch, Unverifed

If name_verification_request_result: "NameVerificationNotPerformed" or "NameVerificationNotSupported", the only possible value for each of the four Verification Result parameters is Unverified.

Account Funding Transactions (AFTs)

An Account Funding Transaction (AFT) pulls funds from a card and deposits or transfers those funds into another account.

AFTs are relevant only for merchants offering funding transactions. To begin using AFTs, contact Nuvei to configure your merchant account to use this transaction type

When Making a AFT transaction you should to send the Gateway Specific Field (GSF) is_aft as true (boolean), this will map the next required fields.

Spreedly fieldNuvei field
payment_method.first_name*billingAddress.FirstName
payment_method.last_namebillingAddress.LastName
billingAddress.country*billingAddress.country
billing_address.citybillingAddress.city
billing_address.state*billingAddress.state
billing_address.address1deviceDetails.address1
aft_recipient_first_name(GSF)recipientDetails.firstName
aft_recipient_last_name(GSF)recipientDetails.lastName

* For non-domestic AFT requests, they must contain the sender details to be marked by Nuvei for AFT.

Gateway Specific Response Fields

  • is_aft: true
  • is_aft_overriden: true

Verify transaction

A merchant may want to perform a zero-authorization card transaction in order to verify if a credit card is a chargeable card and available for purchases.

Verify transactions can be used in order to:

  • Store card details for future use
  • Add a card (card registration)
  • Verify a card

When making a verify request Spreedly sets the amount: 0 and transactionType: Auth. The authentication_only_type GSF should be included in the request. Below lists the possible values for authentication_only_type.

ValuesDescription
RECURRINGFor when multiple transactions are submitted by the Merchant separately based on an agreement between the Merchant and the cardholder.
INSTALLMENTSFor when a single transaction is divided into multiple charges.
ADDCARDFor when a cardholder adds their card to be used for future transactions
MAINTAINCARDFor when a Merchant wants to verify that an existing card is still valid.
ACCOUNTVERIFICATIONFor a verification different than those listed above.

Payouts

  • Nuvei supports sending payout requests with no connection to a previous transaction. Aka unreferenced refund. Please refer to Nuvei documentation for further details.

    is_payout GSF is Required

Payout request

`curl https://core.spreedly.test/v1/gateways/{gateway_token}/purchase.xml \
-u '{environment_key}:{access_secret}' \
-H 'Content-Type: application/xml' \
-d '<transaction>
    <amount>100</amount>
    <currency_code>USD</currency_code>
    <payment_method_token>E5g6rB46gli2vupsXjyxQfaRbaz</payment_method_token>
    <email>[email protected]</email>
    <retain_on_success>true</retain_on_success>
    <ip>127.0.0.1</ip>
    <gateway_specific_fields>
      <nuvei>
        <user_token_id>123456</user_token_id>
        <is_payout>true</is_payout>
      </nuvei>
    </gateway_specific_fields>
</transaction>
'

Response

`<transaction>
  <on_test_gateway type="boolean">true</on_test_gateway>
  <created_at type="dateTime">2024-11-27T20:17:31Z</created_at>
  <updated_at type="dateTime">2024-11-27T20:17:37Z</updated_at>
  <succeeded type="boolean">true</succeeded>
  <state>succeeded</state>
  <token>HZoag0dNJfNTWnSKpuocbz6qC1G</token>
  <transaction_type>Purchase</transaction_type>
  <order_id nil="true"/>
  <ip>127.0.0.1</ip>
  <description nil="true"/>
  <email>[email protected]</email>
  <merchant_name_descriptor nil="true"/>
  <merchant_location_descriptor nil="true"/>
  <merchant_profile_key nil="true"/>
  <gateway_specific_fields>
    <nuvei>
      <user_token_id>123456</user_token_id>
      <is_payout>true</is_payout>
    </nuvei>
  </gateway_specific_fields>
  <gateway_specific_response_fields>
    <nuvei>
      <requested_amount>100</requested_amount>
      <requested_currency>USD</requested_currency>
      <procceed_amount>100</procceed_amount>
      <procceed_currency>USD</procceed_currency>
      <user_payment_option_id>133567018</user_payment_option_id>
      <network_transaction_id>7110000000007208682</network_transaction_id>
    </nuvei>
  </gateway_specific_response_fields>
  <gateway_transaction_id>7110000000007208682</gateway_transaction_id>
  <sub_merchant_key nil="true"/>
  <gateway_latency_ms type="integer">1839</gateway_latency_ms>
  <warning nil="true"/>
  <application_id nil="true"/>
  <risk_data nil="true"/>
  <merchant_metadata nil="true"/>
  <customer_data nil="true"/>
  <order_data nil="true"/>
  <workflow_key nil="true"/>
  <amount type="integer">100</amount>
  <local_amount nil="true"/>
  <currency_code>USD</currency_code>
  <retain_on_success type="boolean">true</retain_on_success>
  <payment_method_added type="boolean">false</payment_method_added>
  <smart_routed type="boolean">false</smart_routed>
  <stored_credential_initiator nil="true"/>
  <stored_credential_reason_type nil="true"/>
  <stored_credential_alternate_gateway nil="true"/>
  <populate_mit_fields type="boolean">false</populate_mit_fields>
  <message key="messages.transaction_succeeded">Succeeded!</message>
  <gateway_token>6GA3HM28GD8T9SPDQ54981HZ1B</gateway_token>
  <gateway_type>nuvei</gateway_type>
  <shipping_address>
    <name>Cure Tester</name>
    <address1 nil="true"/>
    <address2 nil="true"/>
    <city nil="true"/>
    <state nil="true"/>
    <zip nil="true"/>
    <country nil="true"/>
    <phone_number nil="true"/>
  </shipping_address>
  <response>
    <success type="boolean">true</success>
    <message>APPROVED</message>
    <avs_code nil="true"/>
    <avs_message nil="true"/>
    <cvv_code nil="true"/>
    <cvv_message nil="true"/>
    <pending type="boolean">false</pending>
    <result_unknown type="boolean">false</result_unknown>
    <error_code>0</error_code>
    <error_detail nil="true"/>
    <cancelled type="boolean">false</cancelled>
    <fraud_review nil="true"/>
    <created_at type="dateTime">2024-11-27T20:17:35Z</created_at>
    <updated_at type="dateTime">2024-11-27T20:17:37Z</updated_at>
    <network_transaction_id>7110000000007208682</network_transaction_id>
  </response>
  <api_urls>
  </api_urls>
  <payment_method>
    <token>E5g6rB46gli2vupsXjyxQfaRbaz</token>
    <created_at type="dateTime">2024-11-26T19:47:14Z</created_at>
    <updated_at type="dateTime">2024-11-26T21:48:58Z</updated_at>
    <email>[email protected]</email>
    <data nil="true"/>
    <storage_state>retained</storage_state>
    <test type="boolean">false</test>
    <metadata nil="true"/>
    <callback_url nil="true"/>
    <last_four_digits>6034</last_four_digits>
    <first_six_digits>510108</first_six_digits>
    <card_type>master</card_type>
    <first_name>Cure</first_name>
    <last_name>Tester</last_name>
    <month type="integer">9</month>
    <year type="integer">2035</year>
    <address1>157 Simonis Loaf</address1>
    <address2>Apartment 4</address2>
    <city>Marilietown</city>
    <state>NJ</state>
    <zip>31331</zip>
    <country>USA</country>
    <phone_number>919.331.3313</phone_number>
    <company nil="true"/>
    <full_name>Cure Tester</full_name>
    <eligible_for_card_updater type="boolean">true</eligible_for_card_updater>
    <shipping_address1 nil="true"/>
    <shipping_address2 nil="true"/>
    <shipping_city nil="true"/>
    <shipping_state nil="true"/>
    <shipping_zip nil="true"/>
    <shipping_country nil="true"/>
    <shipping_phone_number nil="true"/>
    <issuer_identification_number>51010810</issuer_identification_number>
    <click_to_pay type="boolean">false</click_to_pay>
    <managed type="boolean">true</managed>
    <payment_method_type>credit_card</payment_method_type>
    <stored_credential_usage>
      <scheme_issued>
        <original_network_transaction_id>7110000000007132934</original_network_transaction_id>
        <network_transaction_id>7110000000007208682</network_transaction_id>
      </scheme_issued>
      <nuvei>
        <original_network_transaction_id>7110000000007132934</original_network_transaction_id>
        <network_transaction_id>7110000000007208682</network_transaction_id>
      </nuvei>
    </stored_credential_usage>
    <errors>
    </errors>
    <verification_value></verification_value>
    <number>XXXX-XXXX-XXXX-6034</number>
    <bin_metadata>
      <message>BIN Metadata is available only to Advanced Vault enrolled customers and payment methods. Reach out to your account representative for more details.</message>
    </bin_metadata>
    <fingerprint nil="true"/>
  </payment_method>
  <attempt_3dsecure type="boolean">false</attempt_3dsecure>
</transaction>

To make a payout request with connection to a previous transaction, you have to send a normal refund request. To get more information see Spreedly Api reference Partial Refund and full amount refund

Payout with Google and Apple pay

Spreedly supports sending payout requests for Google and Apple pay, to get more details see Nuvei Documentation

Required GSF's

Spreedly fieldNuvei field
user_payment_option_iduserPaymentOptionId
notification_urlnotificationUrl
  • userPaymentOptionId => user_payment_option_id
  • notificationUrl => notification_url

Gateway Specific Response Fields

A response from Nuvei may contain the following fields:

GSRFDescription
requested_amountThe original amount requested in a partial approval transactions
requested_currencyThe currency of the original requested in a partial approval transactions
procceed_amountThe amount that was actually deposited in the partial approval transaction.
procceed_currencyThe currency used in the processed transaction request.
user_payment_option_idPayment identifier received from previous deposit
network_transaction_idTransaction identifier received from previous request
is_aftIndicates whether the transaction was processed as a Sale (False) or as an AFT transaction (True).
is_aft_overridenMerchant can submit Sales and AFT transactions or Merchant can only submit AFT transactions
name_verification_request_resultName verification result in a Cardholder Name Verification
name_verification_resultName verification result in a Cardholder Name Verification
first_name_verification_resultFirst Name verification result in a Cardholder Name Verification
middle_name_verification_resultMiddle Name verification result in a Cardholder Name Verification
last_name_verification_resultLast Name verification result in a Cardholder Name Verification