Introduction
Sogenactif is a secure multi-channel e-commerce payment solution that complies with the PCI DSS standard. It allows you to accept and manage payment transactions by taking into account business rules related to your activity (payment upon shipping, deferred payment, recurring payment, payment in instalments, etc.).
The purpose of this document is to explain Oney Paylater mean of payment integration into Sogenactif.
Who does this document target?
This document is intended to help you implement Oney Paylater mean of payment on your e-commerce site.
It includes:
- functional information for you
- implementation instructions for your technical team
To get an overview of the Sogenactif solution, we advise you to consult the following documents:
- Functional presentation
- Functionality set-up
Contacting the support
For any question or request for technical assistance, you can contact the usual Sogenactif support on 0 825 090 095 (0.15€/min + call charge - rate as of 02/11/2022) from Monday to Friday, from 9am to 7pm, excluding public holidays, or write to supportsogenactif@worldline.com specifying your VAD or MID contract number for a more efficient handling of your request.
Understanding Oney Paylater payments with Sogenactif
General principles
Oney Bank is a French financial institution that offers consumer credit and payment solutions.
Oney offers an online credit solution with one-time payment in 30 days called Oney Paylater
Acceptance rules
Available functionalities
Payment channels | ||
---|---|---|
Internet | V | Default payment channel |
MOTO | X | |
Fax | X | |
IVS | X |
Means of payment | ||
---|---|---|
Immediate payment | V | |
End-of-day payment | V | |
Deferred payment | X | Forced to the immediate payment. |
Payment upon shipping | V | Forced to 30 days max. |
Payment échelonné | X | |
Payment récurrent | X | |
Batch payment | X | |
Payment One Clic | X |
Oney Paylater means of payment characteristics
Oney Paylater is a payment solution that offers client 30 days to pay the order.
- In order to use Oney Paylater, it is required to send the payment
request with (settlementMode) the commercial code for Oney's offer.
Make contact with Oney to know commercial codes possible.
- For each offer, there is a specific threshold (max and min amount)
which can be set up with Oney.
If you don't know these thresholds, Please make contact with Oney.
Validations that take place on the payment server are:
- orderId data must be filled. It is treated as an order reference for Oney. You should make sure that the orderId is unique.
- Oney requires other data to be present in the payment request, to acknowledge this list, please refer to paragraph «Setting the payment request».
Cart delivery
The instant response returned from the online payment can be definitive (CAPTURED) or temporary (TO_CONFIRM_CAPTURE).
The definitive response is known upon confirmation operation (going to CAPTURED status in cas of approval, or REFUSED otherwise). In order to know the final result of the payment, you must check the detailed remittance transactions daily in the Operations report.
Therefore, you have to wait for the transaction to be in CAPTURED state to deliver the package to your clients.
Payment pages
The client choses Oney Paylater as mean of payment.
Then he's redirected to Oney's payment details page
Once he's on the next page, it contains payment details which he has to fill.
Finally, when the order is processed with Oney, a confirmation page appears.
Signing your Oney Paylater acceptance contract
In order to offer the Oney Paylater mean of payment on your website, you have to sign an acceptance contract with Oney. Thereafter, you transmit us the contract number for recording in our information system.
Making an Oney Paylater payment
You can offer the Oney Paylater mean of payment through the Sogenactif Paypage which directly acts as the payment interface with customers via their web browser.
The remittance modes available for an Oney Paylater transaction are :
- Immediate mode: the authorisation and remittance are executed online simultaneously.
- Validation mode: you must validate the transaction to trigger the remittance. A capture delay must also be defined. When this capture delay is reached or exceeded, you will not be able to validate the transaction, which will therefore expire automatically.
The diagram below explains the different transaction statuses according to the chosen capture mode:
Making an Oney Paylater payment with Sogenactif Paypage
The payment process for Sogenactif Paypage is described below:
Setting the payment request
The following fields have a particular behaviour:
Field Name | Remarks/rules |
---|---|
amount |
Mandatory, max and min amount which can be set up with Oney. |
captureDay |
The value sent in the request must be 30 at a
maximum. A larger value will be forced to 30. |
paymentPattern |
Tհe value sent in the request is ignored. The payment
type is forced to ONE_SHOT. |
orderId |
Mandatory |
customerId |
Mandatory, maximum 8 characters |
paymentMeanData.oneypaylater.settlementMode |
Mandatory : Business transaction code; Contact Oney for a complete list of these payment terms. |
customerContact |
For more details, cf. the tables below. |
customerAddress |
For more details, cf. the tables below. |
customerLanguage |
Mandatory, allows to choose the language used on Sogenactif and Oney pages. |
deliveryData |
For more details, cf. the tables below. |
deliveryContact |
For more details, cf. the tables below. |
deliveryAddress |
For more details, cf. the tables below. |
shoppingCartDetail |
For more details, cf. the tables below. |
Field Name | Remarks/rules |
---|---|
customerContact.title |
Mandatory (M, MME or MLLE) |
customerContact.lastname |
Mandatory |
customerContact.firstname |
Mandatory |
customerContact.phone |
Mandatory |
customerContact.mobile |
Mandatory |
customerContact.email |
Mandatory |
Field Name | Remarks/rules |
---|---|
customerAddress.streetNumber |
Optional |
customerAddress.street |
Mandatory |
customerAddress.zipCode |
Mandatory |
customerAddress.city |
Mandatory |
customerAddress.country |
Mandatory (ISO 3166-1 alpha-3) |
customerAddress.addressAdditional1 |
Optional |
Field Name | Remarks/rules |
---|---|
deliveryData.estimatedDeliveryDate |
Mandatory |
deliveryData.deliveryMode |
Mandatory 1 – At the merchant 2 – Third-party relay point 3 - Airport, train station, travel agency 4 – Billing address 5 – Delivery address 6 – Electronic ticket |
deliveryData.deliveryMethod |
Mandatory, on 2 digits 1st digit : delivery option 1 - Express (under 24h) 2 – Standard 3 – Priority 2nd digit : delivery priority 0 - If no priority 1 - Delivery over 1 hour 2 – Immediate delivery |
Field Name | Remarks/rules |
---|---|
deliveryContact.title |
Optional (M, MME or MLLE) |
deliveryContact.lastname |
Mandatory |
deliveryContact.firstname |
Mandatory |
deliveryContact.phone |
Mandatory |
deliveryContact.email |
Mandatory |
Field Name | Remarks/rules |
---|---|
deliveryAddress.streetNumber |
Optional |
deliveryAddress.street |
Mandatory |
deliveryAddress.zipCode |
Mandatory |
deliveryAddress.city |
Mandatory |
deliveryAddress.country |
Mandatory (ISO 3166-1 alpha-3) |
deliveryAddress.addressAdditional1 |
Optional |
deliveryAddress.company |
Optional |
shoppingCartItemList
is a complex
object. Field Name | Remarks/rules |
---|---|
shoppingCartDetail.shoppingCartTotalQuantity |
Mandatory |
With N items … (minimum 1
item) |
Mandatory |
shoppingCartDetail.shoppingCartItemList.itemX.productSKU |
Mandatory Values : 1 – Food and drink 2 – Car and motorcycle 3 – Culture and entertainment 4 – Home and garden 5 – household appliances 6 - Auctions and multiple purchases 7 – Flowers and gifts 8 – PC and software 9 - Beauty and well-being 10 – Services to a person 11 – Professional services 12 – Sport 13 – Clothing and accessories 14 – Travel and tourism 15 – Hifi, photo and video 16 – Phone and communications |
shoppingCartDetail.shoppingCartItemList.itemX.productDescription
|
Mandatory : label |
shoppingCartDetail.shoppingCartItemList.itemX.productCode |
Mandatory : external reference |
shoppingCartDetail.shoppingCartItemList.itemX.productQuantity |
Mandatory |
shoppingCartDetail.shoppingCartItemList.itemX.productUnitAmount |
Mandatory |
shoppingCartDetail.shoppingCartItemList.itemX.travelData |
Optional From version IR_WS_2.38 (Sogenactif Paypage SOAP/REST) or HP_2.38 (Sogenactif Paypage POST) Travel data - cf table below. |
travelData
is a container reserved
for tour operators. A field marked "Mandatory" below is mandatory only if
its container is not empty.Field Name | Remarks/rules |
---|---|
travelData.numberOfTravelers |
Optional |
travelData.journeyDataList |
Optional Fields marked "Mandatory" in this list are mandatory only if a journey is entered in the list |
travelData.journeyDataList.journeyDataX.journeyStage |
Optional - Possible values : OUTWARD |
travelData.journeyDataList.journeyDataX.journeySequence |
Conditional - Mandatory if journeyStage is
TRANSITIndicates the sequence of the transient journey in the list of journeys, from 1 to 9 |
travelData.journeyDataList.journeyDataX.departureDateTime |
Mandatory - Format ISO8601 Departure date and time |
travelData.journeyDataList.journeyDataX.departureLocation |
Mandatory Departure city |
travelData.journeyDataList.journeyDataX.arrivalLocation |
Mandatory Arrival city |
travelData.journeyDataList.journeyDataX.classLevel |
Mandatory - Possible values : 1 - First class or business class |
travelData.journeyDataList.journeyDataX.ticketExchangeabilityIndicator |
Mandatory - Possible values : true - Tickets can be exchanged |
travelData.journeyDataList.journeyDataX.journeyInsuranceIndicator |
Mandatory - Possible values : true - The journey is guaranteed |
travelData.journeyDataList.journeyDataX.journeyMode |
Optional - Possible values : AIR |
travelData.stayDataList
|
Optional Fields marked "Mandatory" in this list are mandatory only if a stay is entered in the list |
travelData.stayDataList.stayDataX.numberOfPeopleStaying |
Optional |
travelData.stayDataList.stayDataX.stayLocation |
Mandatory Place of residence |
travelData.stayDataList.stayDataX.stayNumberOfRooms |
Optional Number of rooms |
travelData.stayDataList.stayDataX.stayArrivalDateTime |
Mandatory - Format ISO8601 Arrival date and time |
travelData.stayDataList.stayDataX.stayDepartureDateTime |
Mandatory - Format ISO8601 Departure date and time |
travelData.stayDataList.stayDataX.stayRentalCarIndicator |
Optional - Possible values : true - A vehicle is rented for this stay |
travelData.stayDataList.stayDataX.stayInsuranceIndicator |
Mandatory - Possible values : true - The stay is guaranteed |
travelData.stayDataList.stayDataX.stayCategory |
Optional - Possible values : HOTEL |
- A trip to New York with a round flight from Paris and a stay in a hotel.
- A day in London, departure from Paris by train with a connection in Lille and return to Paris by plane.
{
"shoppingCartDetail":{
"shoppingCartTotalQuantity":"2",
"shoppingCartItemList":[
{
"productCode":"189",
"productDescription":"Paris New York",
"productQuantity":"1",
"productSKU":"14",
"productUnitAmount":"250000",
"travelData":{
"numberOfTravelers":"1",
"journeyDataList":[
{
"arrivalLocation":"New York",
"classLevel":"1",
"departureDateTime":"2021-01-01T10:30:00+02:00",
"departureLocation":"Paris",
"journeyInsuranceIndicator":"true",
"journeyMode":"AIR",
"journeyStage":"OUTWARD",
"ticketExchangeabilityIndicator":"true"
},
{
"arrivalLocation":"Paris",
"classLevel":"1",
"departureDateTime":"2021-01-05T17:30:00+02:00",
"departureLocation":"New York",
"journeyInsuranceIndicator":"true",
"journeyMode":"AIR",
"journeyStage":"RETURN",
"ticketExchangeabilityIndicator":"true"
}
],
"stayDataList":[
{
"stayArrivalDateTime":"2021-01-01T20:00:00+02:00",
"stayDepartureDateTime":"2021-01-05T07:30:00+02:00",
"stayInsuranceIndicator":"true",
"stayLocation":"Blue Motel",
"stayNumberOfRooms":"1",
"stayRentalCarIndicator":"true"
}
]
}
},
{
"productCode":"190",
"productDescription":"Paris London",
"productQuantity":"1",
"productSKU":"14",
"productUnitAmount":"15000",
"travelData":{
"numberOfTravelers":"1",
"journeyDataList":[
{
"arrivalLocation":"Lille",
"classLevel":"2",
"departureDateTime":"2021-06-01T07:00:00+02:00",
"departureLocation":"Paris",
"journeyInsuranceIndicator":"false",
"journeyMode":"RAIL",
"journeyStage":"OUTWARD",
"ticketExchangeabilityIndicator":"false"
},
{
"arrivalLocation":"London",
"classLevel":"2",
"departureDateTime":"2021-06-01T09:00:00+02:00",
"departureLocation":"Lille",
"journeyInsuranceIndicator":"false",
"journeyMode":"RAIL",
"journeySequence":"1",
"journeyStage":"TRANSIT",
"ticketExchangeabilityIndicator":"false"
},
{
"arrivalLocation":"Paris",
"classLevel":"1",
"departureDateTime":"2021-06-01T20:00:00+02:00",
"departureLocation":"London",
"journeyInsuranceIndicator":"true",
"journeyMode":"AIR",
"journeyStage":"RETURN",
"ticketExchangeabilityIndicator":"true"
}
]
}
}
]
}
}
}
Analysing the response
The following table summarises the different response cases to be processed:
Status | Response fields | Action to take |
---|---|---|
Payment accepted | acquirerResponseCode = 00
authorisationId = (cf. the
Data Dictionary documentation).paymentMeanBrand =
ONEY_PAYLATERpaymentMeanType =
PROVIDERresponseCode =
00 |
You can deliver the order. |
Pending | acquirerResponseCode = (cf. the
Data Dictionary documentation).responseCode =
60 |
Waiting for Oney acceptance. |
Acquirer refusal | acquirerResponseCode = (cf. the
Data Dictionary documentation).responseCode =
05 |
The authorisation is refused for a reason unrelated to
fraud. If you have not opted for the "new payment attempt"
option (please read the Functionality
set-up Guide for more details), you can suggest that your
customer pay with another means of payment by generating a new
request. |
Refusal due to maximum number of attempts reached | responseCode = 75 |
The customer has made several attempts that have all failed. |
Refusal due to a technical issue | acquirerResponseCode = 90-98
responseCode = 90, 99
|
Temporary technical issue when processing the transaction. Suggest that your customer redo a payment later. |
For the complete response codes (responseCode
) and acquirer response
codes (acquirerResponseCode
), please refer
to the Data dictionary.
Making a Oney Paylater payment with Sogenactif Office Serveur
The Oney Paylater means of payment acceptance is not available through the Sogenactif Office Serveur solution.
Managing your Oney Paylater transactions
Available cash operations
The following operations are available on Oney Paylater transactions:
Cash management | ||
---|---|---|
Cancellation | V | Cancellation available on
the total or partial amount of the transaction. |
Validation | V | Validation available on the total or partial amount of the transaction. |
Refund | V | Refund available on the
total or partial amount of the transaction. |
Duplication | X |
The diagram below allows you to know which cash management operation is available when a transaction is in a given state:
Viewing your Oney Paylater transactions
Reports
The reports provided by Sogenactif allow you to have a comprehensive and consolidated view of your transactions, cash operations, accounts and chargebacks. You can use this information to improve your information system.
The availability of Oney Paylater transactions for each type of report is summarised in the table below:
Disponibilité des journaux | |
---|---|
Transactions report | V |
Operations report | V |
Reconciliations report | V |
Chargebacks report | X |
Sogenactif Gestion
You can view your Oney Paylater transactions and perform various cash management operations with Sogenactif Gestion.