Introduction
Sherlock's 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 the Cadhoc, Illicado, Spirit Of Cadeau means of payment integration into Sherlock's.
Who does this document target?
This document is intended to help you implement the Cadhoc, Illicado, Spirit Of Cadeau means 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 Sherlock's solution, we advise you to consult the following documents:
- Functional presentation
- Functionality set-up guide
Understanding prepaid payments on Sherlock's with CB complement
General principles
Sherlock's offers several prepaid means of payment (as CADHOC, ILLICADO, SPIRITOFCADEAU). The principle is as follows:
- Customers enter their mean of payment data (prepaid card number or other).
- If the prepaid payment mean does not cover the entire amount of the cart, the customers pay the rest with the credit card.
The payment with CB complement is subject to a 3-D Secure payment process. If the card complement is not accepted or the 3-D Secure authentication is not successful, the entire transaction is cancelled and the amount of the prepaid mean of payment is not consumed.
Acceptance rules
Available functionalities
Payment channels | ||
---|---|---|
Internet | V | Default payment channel |
MOTO | X | |
Fax | X | |
IVS | X |
Means of payment | ||
---|---|---|
Immediate payment | V | Default method |
End-of-day payment | X | |
Deferred payment | X | |
Payment upon shipping | X | |
Payment in instalments | X | |
Subscription payment | X | |
Batch payment | X | |
OneClick payment | X |
Currency management | ||
---|---|---|
Multicurrency acceptance | X | |
Currency settlement | X |
Payment review
During the payment kinematics, it is possible that we don't receive the expected return (timeout), the status of the transaction can be one of the followings.
- TO_CONFIRM_AUTHOR
- TO_CONFIRM_CAPTURE
- TO_CONFIRM_CREDIT
A batch processing is carried out daily to update these transactions to final statuses:
- REFUSED
- TO_CAPTURE/TO_VALIDATE
- CAPTURED
- TO_CREDIT
The diagram of the Making a payment paragraph illustrates these statuses as well as the transitions.
The final status will appear in your transaction report to allow you to continue processing the order.
Signing your prepaid means of payment acceptance contract with CB complement
In order to offer the prepaid means of payment on your website, you have to sign a Sherlock's contract.
Making a payment
Sherlock's offers you two solutions to integrate the Cadhoc, Illicado, Spirit Of Cadeau means of payment:
- Sherlock’s Paypage which directly acts as the payment interface with customers via their web browser.
- Sherlock’s Office which gives you the possibility to display your payment pages and works through a server-to-server dialog.
The only remittance mode available for a transaction made with a prepaid mean of payment is the immediate mode (the transaction remittance is executed at the time of the online payment acceptance).
The diagram below explains the different transaction statuses according to the chosen capture mode:
Making a payment with Sherlock’s Paypage
The payment process for Sherlock’s Paypage is described below:
Setting the payment request
The following fields have a particular behaviour:
Field name | Remarks/rules |
---|---|
captureMode | Tհe value sent in the request is ignored. The capture
mode is forced to IMMEDIATE. |
captureDay | Tհe value sent in the request is ignored. The capture
delay is forced to 0. |
customerLanguage | Allows to choose the language used on Sherlock's and CB complement payment pages. |
paymentPattern | Tհe value sent in the request is ignored. The payment
type is forced to ONE_SHOT. |
orderId | Mandatory |
customerContact.email | Mandatory |
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).paymentMeanBrand = CADHOC, ILLICADO, SPIRITOFCADEAUpaymentMeanType =
PROVIDERresponseCode =
00 |
You can deliver the order. |
Pending transaction | acquirerResponseCode = (cf.
the Data Dictionary).responseCode =
60 |
The transaction is still being
processed. You will receive a new response with a final status
in 30 minutes. |
Acquirer refusal | acquirerResponseCode = (cf.
the Data Dictionary).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 the 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 payment with Sherlock’s Office
The payment process for Sherlock’s Office is described below:
Initialising a payment (PaymentProviderInitialize)
The payment initialisation is done by calling the method paymentProviderInitialize.
Payment initialisation request
The following generic fields are defined in the case of a payment initialisation:
Field name | Remarks/rules |
---|---|
merchantReturnUrl | Merchant return URL |
paymentMeanBrand | Must be populated with CADHOC, ILLICADO, SPIRITOFCADEAU. |
You must populate the following specific fields in the initialisation request for a CADHOC, ILLICADO, SPIRITOFCADEAU payment:
Field name | Remarks/rules |
---|---|
captureMode | Tհe value sent in the request is ignored. The capture
mode is forced to IMMEDIATE. |
captureDay | Tհe value sent in the request is ignored. The capture
delay is forced to 0. |
customerLanguage | Allows to choose the language used on Sherlock's and CB complement pages. |
paymentPattern | Tհe value sent in the request is ignored. The payment
type is forced to ONE_SHOT. |
orderId | Mandatory |
customerContact.email | Mandatory |
Payment initialisation response
The following table summarises the different response cases to be processed:
Status | Response fields | Action to take |
---|---|---|
Payment initialisation accepted | acquirerNativeResponseCode =
00 messageVersion = message
version retrieved in response to the payment
initialisation.responseCode =
00redirectionData = redirection
data retrieved in response to the payment
initialisation.redirectionUrl = redirection
URL to the mean of payment website. |
Redirect the customer to redirectionUrl . |
Payment initialisation rejected | responseCode = <>
00 |
See the field errorFieldName , then fix the
request.If the problem persists, contact the technical
support. |
Acquirer refusal | acquirerResponseCode = (cf.
the Data Dictionary).responseCode =
05 |
The authorisation is refused for a reason unrelated to fraud, you can suggest that your customer pay with another means of payment by generating a new request. |
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.
Redirecting the customer to their online banking website
The customer must be redirected to the redirectionUrl URL provided in response to the paymentProviderInitialize method. This redirection consists in making a POST call on the redirectionUrl URL received in response to the payment initialisation. The POST settings to be transmitted are redirectionData and messageVersion also received in the response to the payment initialisation.
At the end of the payment process, the customer is redirected to the URL provided in the merchantReturnUrl initialisation request. The following fields are sent in POST and must be retrieved to finalise the payment.
Field name | Remarks/rules |
---|---|
responseCode | Redirection processing response code |
redirectionData | Redirection data retrieved in response to the payment initialisation. |
messageVersion | Message version retrieved in response to the payment initialisation. |
amount | Transaction amount in cents |
merchantId | Shop identifier |
transactionReference | Transaction reference |
transactionId | Transaction identifier |
transactionDate | Transaction date |
Finalising a payment (PaymentProviderFinalize)
This last step allows you to obtain the payment status. The settings obtained during the redirection after the payment process on the means of payment website are to be transmitted during this call. The method used to finalise a payment is paymentProviderFinalize.
Payment finalisation request
You must provide the following specific fields in the finalisation request for a payment CADHOC, ILLICADO, SPIRITOFCADEAU.
Field name | Remarks/rules |
---|---|
redirectionData | Redirection data retrieved after the customer returns to your website (cf. Redirecting the customer to their online banking website). |
messageVersion | Message version retrieved after the customer returns to your website (cf. Redirecting the customer to their online banking website). |
Payment finalisation 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).acquirerResponseMessage =
information on the amounts paid by each means of
payment.Format = field1:field2:[...]field7 field1 =
SPLIT field2 = prepayed payment mean
name field3 = prepayed payment reference
partner field4 = amount payed with the prepayed payment
mean field5 = supplement means of
payment field6 = masked PAN field7 = amount
payed with the supplement payment mean paymentMeanBrand = CADHOC, ILLICADO, SPIRITOFCADEAUresponseCode =
00transactionStatus = (cf. the
Data Dictionary). |
You can deliver the order. |
Acquirer refusal | acquirerResponseCode = (cf.
the Data Dictionary).responseCode =
05 |
The authorisation is refused for a reason unrelated to fraud, you can suggest that your customer pay with another means of payment by generating a new request. |
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.
Managing your transactions
Available cash operations
The following operations are available on transactions:
Cash management | ||
---|---|---|
Cancellation | X | |
Validation | X | |
Refund | V | In case of a partial refund, the CB part is reimbursed in
priority. For prepaid refundable payment means, it is
specified in the transaction confirmation email sent to customers
that they should keep their gift cards which will be credited in
case of refund. |
Duplication | X |
The diagram below explains which cash management operation is available when a transaction is in a given state:
Viewing your transactions
Reports
The reports provided by Sherlock's 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 transactions for each type of report is summarised in the table below:
Reports availability | ||
---|---|---|
Transactions report | V | |
Operations report | V | |
Reconciliations report | V | Unless CADHOC. |
Chargebacks report | V | Unless CADHOC. |
The acquirerReconciliationDetail field is displayed on the prepaid payment method reconciliation logs.
This data is generated at the time of reconciliation from the information provided by the acquirer for Prepaid means of payment.
The value of this data is the concatenation of seven fields separated by the character ":" which contain detailed information on the amounts paid by each means of payment.
- field 1 = SPLIT
- field 2 = name of the prepaid payment mean
- field 3 = masked PAN of the prepaid payment mean
- field 4 = amount paid with the prepaid payment mean (with 2 decimal places)
- field 5 = additional payment mean
- field 6 = hidden PAN of the additional payment mean
- field 7 = amount paid with the additional payment mean (with 2 decimal places)
Sherlock's Gestion
You can view your transactions details and perform various cash management operations with Sherlock's Gestion.
Here are the details of a Spirit Of Cadeau transaction: