Introduction

WL Sips 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 on despatch, deferred payment, recurring payment, payment in instalments, etc.).

The WL Sips e-Payment Solution offer includes the sending of reports containing all the payment transactions executed from your webshop, as well as cash operations carried out on these transactions.

Depending on the payment means used and on your acquiring bank, complementary reports pertaining to bank reconciliation and chargebacks are also offered.

Who does this document target?

This document is intended for merchants wishing to understand the sending procedure of reports generated by the WL Sips e-Payment Solution offer, and wishing to understand the structure and the data of these reports.

To get an overview of the WL Sips solution, we advise you to consult the following documents:

  • Functional presentation
  • Functionality set-up guide

Report sending procedure

The Transactions and Operations reports can be sent on a daily or weekly basis, before 4 am (French time). The Reconciliations reports and Chargebacks reports are available daily, before noon. The Expired cards reports are sent on a monthly basis, before 10 am (French time).

The available format type is "CSV" (with ";" as a separator). These files are generally sent as e-mail attachments, but they can also be sent by FTP (for large files for example).

Generic structure of reports

File format

Each file is made up of four successive parts:

  1. Report type: this first part indicates the report type and provides further general information like the report name, the generation date or the TAB20 version in use. This part is the first line of the file and begins with the "TITLE" keyword.
  2. Report header: second line of the file. The header lists the column names, is specific to each report type and begins with the "HEADER" keyword.
  3. Report body: the following lines that begin with a distinct keyword depending on the report type ("TRANSACTION", "OPERATION", etc.). Strictly speaking, this part is the one that includes the records (transactions, cash operations).
  4. Report end: the last part of a file, this part marks the end of the file and includes a single field with "END" (transactions or operations report) or "FOOTER" ( de rapprochement des transactions or chargebacks report) as a keyword.

TAB20 versions

There is a varying number of TAB20 versions for each report. In any case, each version includes more information than the previous version.

Table 1. reports (TAB20 versions)
Transactions report Operations report Reconciliations report Chargebacks report Expired cards report
Structure

TITLE; […]

HEADER; […]

TRANSACTION; […]

TRANSACTION; […]

[...]

END

TITLE; […]

HEADER; […]

OPERATION; […]

OPERATION; […]

[…]

END

TITLE; […]

HEADER; […]

RECONCILIATION; [...]

RECONCILIATION; [...]

[…]

FOOTER

TITLE; […]

HEADER; […]

UNPAID; [...]

UNPAID; [...]

[…]

FOOTER

TITLE; […]

HEADER; […]

PAYMENTMEAN; […]

PAYMENTMEAN; […]

[…]

[…]; END

Number of TAB20 versions 20 9 11 7 1
Version TAB20_VX: click for more info TAB20_VX: click for more info TAB20_VX: click for more info TAB20_V1 to V4 inclusive: click for more info

TAB20_V5 and higher: click for more info

TAB20_V1: click for more info

Date format overriding

Reports "override" (i.e. alter) date formats used in some fields, which means they overwrite formats that were originally defined in the WL Sips data dictionary.

Below is a table of fields altered and date formats overriden in each report:

Table 2. date format overriding
Report name Field name Format
Transactions report transactionDateTime ANS19
YYYY-MM-DD hh:mm:ss
Operations report operationDateTime ANS19
YYYY-MM-DD hh:mm:ss
Reconciliations report transactionDateTime ANS15
YYYYMMDD hhmmss
remittanceDateTime ANS19
YYYY-MM-DD hh:mm:ss
Chargebacks report transactionDateTime ANS19
YYYY/MM/DD hh:mm:ss
remittanceDateTime ANS19
YYYY/MM/DD hh:mm:ss
Expired cards report No date format overriding No date format overriding

Convention used in this guide

This guide uses the following convention:

  • The "Position" column indicates the field position (i.e. the column) in the report.
  • The "Field name" column indicates the designation used in the header.

Transactions report

Function

This report includes all payment transactions made (whether accepted or refused) on your webshop since the last report was sent, except duplicates (code 94) and pending transactions (code 60).

The report can be used to mitigate situations where your information system is not notified of a successful transaction: as an example, if you choose to integrate the WL Sips payment pages, a websurfer may forget to click on the “Back to shop” button (no manual response); or a network-related issue may arise (no automatic response).

Thanks to an automatic (or manual) processing tool, you can analyse this report, update your databases and make sure all orders the payment of which has been accepted will be delivered.

The implementation guides for each payment means may contain clarifications or exceptions, we recommand you consult these guides before any implementation.

Structure

Report type

Table 3. data block identifying the report type
Position Field name Value Description
1 recordCode "TITLE" Line type
2 reportName "TRANSACTION_REPORT" Report name
3 fileDateTime ANS19
YYYY-MM-DD hh:mm:ss
Generation date
4 fileFormatVersion ANS20
"TAB20_VX"
Version

Report header

Table 4. data block identifying the report header
Position Field name Value Description
1 recordCode "HEADER" Line type
2 - (...) The list of field designations is available in the report body table.

Report body

Each transaction is listed on a separate line, including all of the following fields.

Table 5. Transactions report body
Position Field name As from version
1 recordCode = "TRANSACTION" TAB20_V1
2 merchantId TAB20_V1
3 transactionReference TAB20_V1
4 transactionServiceType TAB20_V1
5 originAmount TAB20_V1
6 amount TAB20_V1
7 currencyCode TAB20_V1
8 transactionDateTime (cf. date format overriding ) TAB20_V1
9 captureDay TAB20_V1
10 captureMode TAB20_V1
11 orderChannel TAB20_V1
12 paymentPattern TAB20_V1
13 paymentMeanType TAB20_V1
14 paymentMeanBrand TAB20_V1
15 maskedPan TAB20_V1
16 orderId TAB20_V1
17 responseCode TAB20_V1
18 authorisationId TAB20_V1
19 transactionStatus TAB20_V1
20 complementaryCode TAB20_V1
21 complementaryInfo TAB20_V1
22 merchantWalletId TAB20_V2
23 paymentMeanSequence TAB20_V2
24 merchantToken TAB20_V2
25 panExpiryDate TAB20_V2
26 captureLimitDate TAB20_V2
27 acquirerResponseCode TAB20_V2
28 cardCSCResultCode TAB20_V2
29 returnContext TAB20_V2
30 customerId TAB20_V2
31 customerIpAddress TAB20_V2
32 scoreValue TAB20_V2
33 scoreColor TAB20_V2
34 scoreProfile TAB20_V2
35 scoreThreshold TAB20_V2
36 guaranteeIndicator TAB20_V2
37 holderAuthentStatus in TAB20_V2
threeDHolderAuthentStatus as from TAB20_V3
TAB20_V2
38 merchantTokenOrigin TAB20_V3
39 terminalId TAB20_V3
40 bankCode TAB20_V3
41 sddMandateId TAB20_V3
42 panEntryMode TAB20_V4
43 walletType TAB20_V4
44 holderAuthentMethod TAB20_V4
45 holderAuthentStatus TAB20_V4
46 statementReference TAB20_V4
47 dccStatus TAB20_V5
48 dccAmount TAB20_V6
49 dccCurrencyCode TAB20_V6
50 dccExchangeRate TAB20_V6
51 dccRateValidity TAB20_V6
52 dccProvider TAB20_V6
53 remainingAmount TAB20_V7
54 fromTransactionRemainingAmount TAB20_V7
55 fromTransactionReference TAB20_V7
56 dueDate TAB20_V7
57 creditorId TAB20_V7
58 walletPaymentMeanAlias TAB20_V7
59 settlementMode TAB20_V8
60 holderAuthentProgram TAB20_V8
61 IssuerWalletInformation TAB20_V9
62 s10TransactionId TAB20_V9
63 s10TransactionIdDate TAB20_V9
64 s10FromTransactionId TAB20_V9
65 s10FromTransactionIdDate TAB20_V9
66 acquirerResponseMessage TAB20_V9
67 paymentMeanTradingName TAB20_V9
68 transactionLink TAB20_V9
69 preAuthenticationValue TAB20_V10
70 preAuthenticationColor TAB20_V10
71 preAuthenticationProfile TAB20_V10
72 preAuthenticationThreshold TAB20_V10
73 messageFunction TAB20_V11
74 acquirerNativeResponseCode TAB20_V11
75 holderAddressCountry TAB20_V12
76 automaticResponseStatus TAB20_V13
77 cardCSCPresence TAB20_V13
78 paymentMeanBrandSelectionMode TAB20_V13
79 paymentMeanBrandSelectionStatus TAB20_V13
80 preAuthorisationProfileValue TAB20_V13
81 preAuthenticationProfileValue TAB20_V13
82 avsAddressResponseCode TAB20_V13
83 avsPostcodeResponseCode TAB20_V13
84 preAuthorisationProfile TAB20_V14
85 acquirerContractNumber TAB20_V15
86 paymentAttemptNumber TAB20_V16
87 holderAuthentType TAB20_V17
88 challengeMode3DS TAB20_V17
89 secureReference TAB20_V18
90 authentExemptionReasonList TAB20_V19
91 paymentMeanDataProvider TAB20_V20

Operations report

Function

The operations report informs you of changes in the status of transactions during their life cycle. This report contains the changes made to payment transactions, i.e. events that may change the transaction status (for example, the "validate" operation changes the "TO_VALIDATE" status of a transaction to " TO_CAPTURE "). So, you can also make an analysis of these files and update your databases. The report also includes operations sent to the bank. Consequently, you can use it to check the accounting transactions.

Structure

Report type

Table 7. data block identifying the report type
Position Field name Value Description
1 recordCode "TITLE" Line type
2 reportName "OPERATION_REPORT" Report name
3 fileDateTime ANS19
YYYY-MM-DD hh:mm:ss
Generation date
4 fileFormatVersion ANS20
"TAB20_VX"
Version

Report header

Table 8. data block identifying the report header
Position Field name Value Description
1 recordCode "HEADER" Line type
2 - (...) The list of field designations is available in the report body table.

Report body

Each transaction is listed on a separate line, including all of the following fields.

Table 9. Operations report body
Position Field name As from version
1 recordCode = "OPERATION" TAB20_V1
2 merchantId TAB20_V1
3 transactionReference TAB20_V1
4 operationSequence TAB20_V1
5 operationName TAB20_V1
6 amount in TAB20_V1
operationAmount as from TAB20_V2
TAB20_V1
7 currencyCode TAB20_V1
8 transactionDateTime TAB20_V1
9 operationDateTime (cf. date format overriding ) TAB20_V1
10 responseCode TAB20_V1
11 newStatus TAB20_V1
12 orderId TAB20_V1
13 paymentMeanType TAB20_V1
14 paymentMeanBrand TAB20_V1
15 newAmount TAB20_V2
16 operationOrigin TAB20_V2
17 acquirerResponseCode TAB20_V2
18 customerId TAB20_V2
19 orderChannel TAB20_V2
20 dccResponseCode TAB20_V3
21 dccAmount TAB20_V3
22 dccCurrencyCode TAB20_V3
23 dccExchangeRate TAB20_V3
24 dccRateValidity TAB20_V3
25 dccProvider TAB20_V3
26 remainingAmount TAB20_V4
27 s10TransactionId TAB20_V5
28 s10TransactionIdDate TAB20_V5
29 messageFunction TAB20_V6
30 acquirerNativeResponseCode TAB20_V6
31 returnContext TAB20_V7
32 authorisationId TAB20_V7
33 acquirerContractNumber TAB20_V8
34 guaranteeIndicator TAB20_V9
35 secureReference TAB20_V9

Report footer

The report footer is a line containing a static value which marks the end of the report:

Table 10. data specifying the report footer
Position Field name Value Description
1 recordCode "END" Static field

Reconciliations report

Function

This report results from the reconciliation between transactions and return flows concerning payments processed by your banks or financial institutions.

The Reconciliations report includes transactions made on your webshop and credited on (or debited from) your bank account.

Upon receiving the payment notifications from the acquirer or the financial institution, WL Sips carries out a reconciliation with these transactions, which makes it possible to add the WL Sips context for the transaction (transaction number, merchant references etc.) to the acquirer's or financial institution's information. This means you are informed in detail of reconciled transactions and alerted in case of non-reconciliation.

The Reconciliations report availability or comprehensiveness is subject to the availability of post-payment return flows provided by your banks or financial institutions.

Note: the payments and chargebacks reconciliation tool is available for a number of partnered banks and financial institutions. Certain payment methods are not included in the Reconciliations reports. Please contact us for more details.

Structure

Report type

Table 11. data block identifying the report type
Position Field name Value Description
1 recordCode "TITLE" Line type
2 reportName "RECONCILIATION_REPORT" Report name
3 fileFormatVersion ANS20
"20_VX"
Version
4 fileDateTime ANS19
YYYY-MM-DD hh:mm:ss
Generation date

Report header

Table 12. data block identifying the report header
Position Field name Value Description
1 recordCode "header" Line type
2 - (...) The list of field designations is available in the report body table.

Report body

Each transaction is listed on a separate line, including all of the following fields.

Table 13. Reconciliations report body
Position Field name As from version
1 recordCode = "RECONCILIATION" TAB20_V1
2 merchantId TAB20_V1
3 transactionReference TAB20_V1
4 operationSequence TAB20_V1
5 transactionDateTime (cf. date format overriding ) TAB20_V1
6 orderId TAB20_V1
7 orderChannel TAB20_V1
8 paymentMeanBrand TAB20_V1
9 paymentMeanType TAB20_V1
10 operationType TAB20_V1
11 remittanceDateTime (cf. date format overriding ) TAB20_V1
12 remittanceNumber TAB20_V1
13 paymentStatus TAB20_V1
14 currencyCode TAB20_V1
15 originAmount TAB20_V1*
16 grossAmount TAB20_V1*
17 netAmount TAB20_V1*
18 feeCurrency TAB20_V1
19 feeAmount TAB20_V1*
20 s10TransactionId TAB20_V2
21 s10TransactionIdDate TAB20_V2
22 acquirerContractNumber TAB20_V3
23 authorisationId TAB20_V3
24 feeType TAB20_V3
25 fundTransferNumber TAB20_V3
26 settlementMode TAB20_V3
27 returnContext TAB20_V4
28 customerId TAB20_V5
29 interchangeFee TAB20_V5
30 cardInterchangeCategoryCode TAB20_V5
31 lastMerchantOperationDateTime TAB20_V6
32 lastMerchantOperationName TAB20_V6
33 mandateId TAB20_V7
34 acquisitionType TAB20_V8
35 feesDebitNumber TAB20_V8
36 settlementArchivingReference TAB20_V9
37 acquirerResponseMessage TAB20_V11
38 acquirerReconciliationDetail TAB20_V11

Chargebacks report

Function

This report results from the reconciliation between transactions and return flows concerning outstanding payments processed by your banks or financial institutions.

The Chargebacks report includes, among transactions made on your webshop and already credited on (or debited from) your account, those subject to an outstanding payment (for instance due to a customer dispute).

Upon receiving the chargeback notifications from the acquirer or the financial institution, WL Sips carries out a reconciliation with these transactions, which makes it possible to add the WL Sips context for the transaction (transaction number, merchant references etc.) to the acquirer's or financial institution's information.

The Chargebacks report availability or comprehensiveness is subject to the availability of outstanding payment return flows provided by your banks or financial institutions.

Note: the payments and chargebacks reconciliation tool is available for a number of partnered banks and financial institutions. Certain payment methods are not included in the Chargebacks reports. Please contact us for more details.

Structure

Report type

Table 15. data block specifying the report type
Position Field name Value Description
1 recordCode "TITLE" Line type
2 reportName "UNPAID_REPORT" Report name
3 fileFormatVersion ANS20
"20_VX"
Version
4 fileDateTime ANS19
YYYY-MM-DD hh:mm:ss
Generation date

Report header

Table 16. data block specifying the report header
Position Field name Value Description
1 recordCode "HEADER" Line type
2 - (...) The list of field designations is available in the report body table.

Report body

Each chargeback is listed on a separate line. The TAB20_V5 version having one field deleted compared to the previous versions, we present here the list of fields in a detail line according to the version in use:

TAB20_V1 to TAB20_V4 version inclusive

Table 17. Chargebacks report body (TAB20_V1 to TAB20_V4)
Position Field name As from version
1 recordCode = « UNPAID » TAB20_V1
2 merchantId TAB20_V1
3 acquirerContractNumber TAB20_V1
4 transactionDateTime (cf. date format overriding ) TAB20_V1
5 transactionReference TAB20_V1
6 operationType TAB20_V1
7 sourceAmount TAB20_V1
8 merchantLegalId TAB20_V1
9 chargebackAcquirerReference TAB20_V1
10 chargebackReasonCode TAB20_V1
11 currencyCode TAB20_V1
12 contractType TAB20_V1
13 posNb TAB20_V1
14 remittanceDatetime (cf. date format overriding ) TAB20_V1
15 exchangeAmount TAB20_V1
16 valueDate TAB20_V1
17 chargebackAmount TAB20_V1
18 exchangeUnpaidAmount TAB20_V1
19 exchangeCurrencyCode TAB20_V1
20 chargedBankCode TAB20_V1
21 chargedBankCounter TAB20_V1
22 chargedBankAccount TAB20_V1
23 chargedBankAdminCounter TAB20_V1
24 pbaRemittanceNumber TAB20_V1
25 customerId TAB20_V1
26 orderId TAB20_V1
27 transactionStatus TAB20_V1; deleted as from TAB20_V5.
28 currentAmount TAB20_V1
29 originAmount TAB20_V1
30 paymentMeanBrand TAB20_V1
31 paymentMeanType TAB20_V1
32 chargebackSettlementDate TAB20_V1
33 chargebackDocumentRequestReason TAB20_V1
34 chargebackDocumentRequestDate TAB20_V1
35 orderChannel TAB20_V1
36 s10TransactionId TAB20_V2
37 s10TransactionIdDate TAB20_V2
38 maskedPan TAB20_V2
39 settlementArchivingReference TAB20_V2
40 mandateId TAB20_V3
41 returnContext TAB20_V4

As from TAB20_V5

Table 18. Chargebacks report body (TAB20_V5 and higher)
Position Field name As from version
1 recordCode = « UNPAID » TAB20_V1
2 merchantId TAB20_V1
3 acquirerContractNumber TAB20_V1
4 transactionDateTime (cf. date format overriding ) TAB20_V1
5 transactionReference TAB20_V1
6 operationType TAB20_V1
7 sourceAmount TAB20_V1
8 merchantLegalId TAB20_V1
9 chargebackAcquirerReference TAB20_V1
10 chargebackReasonCode TAB20_V1
11 currencyCode TAB20_V1
12 contractType TAB20_V1
13 posNb TAB20_V1
14 remittanceDatetime (cf. date format overriding ) TAB20_V1
15 exchangeAmount TAB20_V1
16 valueDate TAB20_V1
17 chargebackAmount TAB20_V1
18 exchangeUnpaidAmount TAB20_V1
19 exchangeCurrencyCode TAB20_V1
20 chargedBankCode TAB20_V1
21 chargedBankCounter TAB20_V1
22 chargedBankAccount TAB20_V1
23 chargedBankAdminCounter TAB20_V1
24 pbaRemittanceNumber TAB20_V1
25 customerId TAB20_V1
26 orderId TAB20_V1
27 currentAmount TAB20_V1
28 originAmount TAB20_V1
29 paymentMeanBrand TAB20_V1
30 paymentMeanType TAB20_V1
31 chargebackSettlementDate TAB20_V1
32 chargebackDocumentRequestReason TAB20_V1
33 chargebackDocumentRequestDate TAB20_V1
34 orderChannel TAB20_V1
35 s10TransactionId TAB20_V2
36 s10TransactionIdDate TAB20_V2
37 maskedPan TAB20_V2
38 settlementArchivingReference TAB20_V2
39 mandateId TAB20_V3
40 returnContext TAB20_V4
41 networkCode TAB20_V6
42 acquirerResponseMessage TAB20_V7
43 acquirerReconciliationDetail TAB20_V7

Report footer

The report footer is a line containing a static value which marks the end of the report.

Table 19. data specifying the report footer
Position Field name Value Description
1 recordCode "FOOTER" Static field

Expired cards report

Function

The Expired cards report identifies all the cards stored and due to expire soon. Thus, you can warn your customers that their card will expire soon and ask them to store their new card.

The extracted cards are the cards that will expire within a time frame of one to three months, depending on settings.

Note: this report is used only for OneClick payments and for subscription payment.

Structure

Report type

Table 20. data block specifying the report type
Position Field name Value Description
1 recordCode "TITLE" Line type
2 reportName “EXPIRATION_WALLET_REPORT” Report name
3 fileDateTime ANS14
YYYYMMDDhhmmss
Generation date
4 merchantId N15 Webshop ID, its value is provided by WL Sips to the merchant when enrolling his shop.
5 merchantName AN25 Merchant name (equals the webshop name stored during enrollment).
6 fileFormatVersion ANS20
"TAB20_V1"
Version

Report header

Table 21. data block specifying the report header
Position Field name Value Description
1 recordCode "HEADER" Line type
2 - (...) The list of field designations is available in the report body table.

Report body

Each card is listed on a separate line, including all of the following fields.

Table 22. Expired cards report body
Position Field name As from version
1 recordCode TAB20_V1
2 merchantWalletId TAB20_V1
3 paymentMeanId TAB20_V1
4 paymentMeanAlias TAB20_V1
5 paymentMeanBrand TAB20_V1
6 paymentMeanType TAB20_V1
7 panExpiryDate TAB20_V1
8 maskedPan TAB20_V1