Are you looking for test card numbers?

Would you like to contact support?

Payment-method icon

3x 4x Oney Drop-in integration

Add 3x 4x Oney to an existing Drop-in integration.

On this page, you can find additional configuration for adding 3x 4x Oney to your Drop-in integration.

When making a 3x 4x Oney payment request:

  1. Collect shopper details and include them in the request.
  2. Provide information about the purchased items by specifying lineItems.
  3. Make sure that the payment is authorised and successfully captured before you ship the goods.

Before you begin

This page assumes you've already:

API reference

Select which endpoint you're integrating:

This is the default with Drop-in v5.0.0 or later.
Parameter name Required Description
lineItems -white_check_mark- Price and product information about the purchased items. 3x 4x Oney will only approve the payment if the total amount specified in lineItems matches the amount.value.
shopperEmail -white_check_mark- The shopper's email address. This is where 3x 4x Oney will send the payment instructions.
shopperReference -white_check_mark- A unique reference to identify the shopper. Minimum length: three characters.
shopperName -white_check_mark- The shopper's first and last name (required). Maximum length: 32 characters. You can optionally include gender, if specified.
telephoneNumber -white_check_mark- The shopper's mobile telephone number, using an international number format.
  • France: +336 or +337 followed by eight digits
  • Spain: +346 or +347 followed by eight digits
billingAddress -white_check_mark- The postal address of the shopper.
billingAddress.postalCode must have five characters.
deliveryAddress The postal address where the purchased goods should be delivered. If not provided, this is the same as the billing address.
deliveryAddress.postalCode must have five characters.
dateOfBirth The shopper's date of birth, if specified. The format must be YYYY-MM-DD.
shopperLocale A combination of language code and country code to specify the language used in your checkout.
  • France: fr_FR
  • Spain: es_ES
countryCode The shopper's country.
  • France: FR
  • Spain: ES
additionalData.oneydata.merchantPays Optional field to override the default configuration. When we set up 3x 4x Oney for your merchant account, we also configure who pays the interest fees.
  • true: You collect the interest fees from the shopper (the shopper pays interest fees).
  • false: You do not collect interest fees (the shopper doesn't pay interest fees).
curl https://checkout-test.adyen.com/v68/sessions \
-H "x-API-key: YOUR_X-API-KEY" \
-H "content-type: application/json" \
-d '{
   "merchantAccount":"YOUR_MERCHANT_ACCOUNT",
   "reference":"YOUR_ORDER_REFERENCE",
   "amount":{
      "currency":"EUR",
      "value": 15000
   },
   "shopperLocale":"fr_FR",
   "countryCode":"FR",
   "telephoneNumber": "+33 1 76 35 07 90",
   "shopperEmail":"shopper@example.com",
   "shopperName":{
      "firstName":"Testperson-fr",
      "gender": "UNKNOWN",
      "lastName":"Approved"
   },
   "shopperReference":"YOUR_UNIQUE_SHOPPER_ID",
   "billingAddress":{
      "city":"UGINE",
      "country":"FR",
      "houseNumberOrName":"0",
      "postalCode":"73400",
      "street":"461 Rue du Centenaire"
   },
   "deliveryAddress":{
      "city":"UGINE",
      "country":"FR",
      "houseNumberOrName":"0",
      "postalCode":"73400",
      "street":"461 Rue du Centenaire"
   },
   "returnUrl":"https://your-company.com/checkout?shopperOrder=12xy..",
   "lineItems":[
      {
         "quantity":"1",
         "amountExcludingTax":"5000",
         "taxPercentage":"0",
         "description":"Test item 1",
         "id":"item1",
         "taxAmount":"0",
         "amountIncludingTax":"5000"
      },
      {
         "quantity":"1",
         "amountExcludingTax":"10000",
         "taxPercentage":"0",
         "description":"Test item 2",
         "id":"item2",
         "taxAmount":"0",
         "amountIncludingTax":"10000"
      }
   ]
}'
Client client = new Client("Your X-API-KEY", Environment.TEST);
Checkout checkout = new Checkout(client);

CreateCheckoutSessionRequest sessionRequest = new CreateCheckoutSessionRequest();
sessionRequest.setMerchantAccount("YOUR_MERCHANT_ACCOUNT");
sessionRequest.setReference("YOUR_ORDER_REFERENCE");

Amount amount = new Amount();
amount.setCurrency("EUR");
amount.setValue(15000L);
sessionRequest.setAmount(amount);

sessionRequest.setShopperLocale("fr_FR");
sessionRequest.setCountryCode("FR");
sessionRequest.setTelephoneNumber("+33 1 76 35 07 90");
sessionRequest.setShopperEmail("shopper@example.com");

Name shopperName = new Name();
shopperName.setFirstName("Testperson-fr");
shopperName.setGender(Name.GenderEnum.UNKNOWN);
shopperName.setLastName("Approved");
sessionRequest.setShopperName(shopperName);

sessionRequest.setShopperReference("YOUR_UNIQUE_SHOPPER_ID");

Address billingAddress = new Address();
billingAddress.setCity("UGINE");
billingAddress.setCountry("FR");
billingAddress.setHouseNumberOrName("0");
billingAddress.setPostalCode("73400");
billingAddress.setStreet("461 Rue du Centenaire");
sessionRequest.setBillingAddress(billingAddress);

Address deliveryAddress = new Address();
deliveryAddress.setCity("UGINE");
deliveryAddress.setCountry("FR");
deliveryAddress.setHouseNumberOrName("0");
deliveryAddress.setPostalCode("73400");
deliveryAddress.setStreet("461 Rue du Centenaire");
sessionRequest.setDeliveryAddress(deliveryAddress);

sessionRequest.returnUrl("https://your-company.com/checkout?shopperOrder=12xy..");

LineItem lineItem1 = new LineItem();
lineItem1.setQuantity(1L);
lineItem1.setAmountExcludingTax(0L);
lineItem1.setTaxPercentage(5000L);
lineItem1.setDescription("Test item 1");
lineItem1.setId("item1");
lineItem1.setTaxAmount(0L);
lineItem1.setAmountIncludingTax(5000L);

LineItem lineItem2 = new LineItem();
lineItem2.setQuantity(1L);
lineItem2.setAmountExcludingTax(10000L);
lineItem2.setTaxPercentage(0L);
lineItem2.setDescription("Test item 2");
lineItem2.setId("item2");
lineItem2.setTaxAmount(0L);
lineItem2.setAmountIncludingTax(10000L);

List<LineItem> lineItems = new ArrayList<LineItem>();
lineItems.add(lineItem1);
lineItems.add(lineItem2);
sessionRequest.setLineItems(lineItems);

CreateCheckoutSessionResponse sessionResponse = checkout.sessions(sessionRequest);
var checkoutSessionRequest = new CreateCheckoutSessionRequest
{
    MerchantAccount = "YOUR_MERCHANT_ACCOUNT",
    Reference = "YOUR_ORDER_REFERENCE",
    Amount = {
    Currency = "EUR",
    Value = 15000
    },
    ShopperLocale = "fr_FR",
    CountryCode = "FR",
    TelephoneNumber = "+33 1 76 35 07 90",
    ShopperEmail = "shopper@example.com",
    ShopperName = {
    FirstName = "Testperson-fr",
    Gender = Name.GenderEnum.UNKNOWN,
    LastName = "Approved"
    },
    ShopperReference = "YOUR_UNIQUE_SHOPPER_ID",
    BillingAddress = {
    City = "UGINE",
    Country = "FR",
    HouseNumberOrName = "0",
    PostalCode = "73400",
    Street = "461 Rue du Centenaire"
    },
    DeliveryAddress = {
    City = "UGINE",
    Country = "FR",
    HouseNumberOrName = "0",
    PostalCode = "73400",
    Street = "461 Rue du Centenaire"
    },
    ReturnUrl = "https://your-company.com/checkout?shopperOrder=12xy..",
    LineItems = new System.Collections.Generic.List<LineItem> {
    new LineItem {
      Quantity = 1,
        AmountExcludingTax = 5000,
        TaxPercentage = 0,
        Description = "Test item 1",
        Id = "item1",
        TaxAmount = 0,
        AmountIncludingTax = 5000
    },
    new LineItem {
      Quantity = 1,
        AmountExcludingTax = 10000,
        TaxPercentage = 0,
        Description = "Test item 2",
        Id = "item2",
        TaxAmount = 0,
        AmountIncludingTax = 10000
    }
};
var client = new Client("YOUR_X-API-KEY", Model.Enum.Environment.Test);
var checkout = new Checkout(client);
var createCheckoutSessionResponse = checkout.Sessions(checkoutSessionRequest);

Drop-in configuration

Optional configuration

You can add the following optional configuration to configure the visibility of the shopper input fields for 3x 4x Oney :

Parameter name Description Default
personalDetails Shopper full name, gender, date of birth, phone number, and email address. editable
billingAddress The address where to send the invoice. editable
deliveryAddress The address where the purchased goods should be delivered. By default, the delivery address is the same as the billing address. When the shopper selects they want to specify a different address, the delivery address fields will appear. editable

You can set the visibility to hidden, readOnly or editable.

Although you can hide the fields from your payment form, you must still provide this information in your payment request.

If you want to add optional configuration, include this in a configuration object. The following example shows how to configure Drop-in to make the deliveryAddress field readOnly:

const oneyConfiguration = {
  personalDetails: editable, // Optional. These fields will appear on the payment form,
                            // and the shopper can edit them.
                            // This is the default behavior.
  billingAddress: editable, // Optional. These fields will appear on the payment form,
                            // and the shopper can edit them.
                            // This is the default behavior.
  deliveryAddress: readOnly // Optional. These fields will appear on the payment form,
                            // but the shopper can't edit them.
};

If you created an oneyConfiguration object, include this when creating a configuration object:

AdyenCheckout configuration
const configuration = {
  // ...  other required configuration
  paymentMethodsConfiguration: {
    facilypay_3x: oneyConfiguration
    facilypay_4x: oneyConfiguration
  }
};

If you want to include optional configuration, add the configuration object for each 3x 4x Oney installment type that you support.

Number of installments Payment method type Supported county
3 facilypay_3x France (FR) and Spain (ES)
4 facilypay_4x France (FR) and Spain (ES)
6 facilypay_6x Spain (ES)
10 facilypay_10x Spain (ES)
12 facilypay_12x Spain (ES)

Capture the payment

Make sure that the payment is captured successfully before you ship the goods.

Depending on your capture settings, 3x 4x Oney payments are captured manually or automatically, with or without a delay.
If a payment is captured after more than six days, the payment authorization expires and the payment must be authorised again.

Refund the payment

If a 3x 4x Oney payment has not yet been captured, you can cancel it.
If the payment has already been captured and you want to return the funds to the shopper, you need to refund it.

You can refund payments until 13 months after they have been captured.

Partial refunds

To partially refund a 3x 4x Oney payment, specify in your call to the /payments/{paymentPspReference}/refunds endpoint:

  • modificationAmount: The amount to be refunded to the shopper.
{
   "merchantAccount":"YOUR_MERCHANT_ACCOUNT",
   "modificationAmount":{
      "currency":"EUR",
      "value":400
   },
   "originalReference":"8825408195409505"
}

You will receive a /payments/{paymentPspReference}/refunds response containing a pspReference associated with this request. Once we have processed your request, you will also receive a REFUND notification. For more information, refer to Refund.

Test and go live

Before accepting live 3x 4x Oney payments, test your integration using the following test details:

France

Test card number Expiry date CVV
4970 1015 5874 4789 Any date less than 3 years from now Any value
4970 1090 4680 2374 Any date less than 3 years from now Any value
4970 1090 0325 6200 Any date less than 3 years from now Any value

You can test the different responses by changing the amount to be paid:

  • Authorised: Between EUR 150.00 and EUR 999.99
  • Pending: Between EUR 1000.00 and EUR 1499.99
  • Refused: Between EUR 1500.00 and EUR 2000.00

Spain

Test card number Expiry date CVV
4907 2720 1107 2841 Any date less than 3 years from now Any value
5410 0800 0888 8005 Any date less than 3 years from now Any value

You can test the different responses using different Documento Nacional de Identidad (DNI, Spanish ID card) numbers:

  • Authorised: DNI 05696340E
  • Refused: DNI 75914068S

Go live

Before you can accept live 3x 4x Oney payments, you need to submit a request for Oney 3x4x in your live Customer Area.

See also