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 purpose of this document is to explain the implementation steps of the Sips Office Batch solution and of initial payment and cash management tests.

Who does this document target?

Sips Office Batch aims to provide you with Sips Office functions in Batch mode. These functions are bases on offline file exchanges. Some of the online mode options are not available, e.g. 3-D Secure authentication.

This implementation guide is intended for your technical team.

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

  • Functional presentation
  • Functionality set-up guide

Prerequisites

Knowledge of file transfer protocols and standards for programming languages used today, such as Java, PHP or .Net, is necessary to develop a connection to Sips Office Batch .

Note: all code sections in this document are provided as samples, you will need to adapt them to your website for them to be fully operable.

Contacting the support

For any technical question or request for assistance, our services are available:

  • by telephone at: +33 (0) 811 10 70 33
  • by e-mail: sips@worldline.com

In order to facilitate the processing of your requests, please provide your merchantId (15-digit number).

Understanding payments with Sips Office Batch

The processing of files by Sips Office Batch can be divided into several steps:

1. The merchant uploads request files to an external FTPS or SFTP account supplied by Worldline .

2. Worldline 's file transfer gateway receives the request files and sends them to the Sips Office Batch engine.

3. The Sips Office Batch engine processes the request files one by one and generates one response file per request file.

4. The Sips Office Batch engine sends the response files to the external FTPS or SFTP account through the file transfer gateway.

5. The merchant retrieves the response files from the external FTPS or SFTP account supplied by Worldline .

6. The Sips Office Batch engine, via the file transfer gateway, destroys the response files after a first successful download by the merchant.

General rules about transfers

  • The merchant can choose either FTPS or SFTP as transfer method.
  • Worldline provides a dedicated merchant account (with a username and password). The Worldline account must be the same for request files and response files; however some file name restrictions apply.
  • Worldline 's SFTP and FTPS servers also verify the merchant’s IP address in addition to their username and password.
  • Worldline gives the response file a name that differs from that of the request file.
  • After a given period (1 week), response files are deleted from the FTPS or SFTP accounts even if they were not downloaded.

Managing the operations from several merchants

The remitter is a partner who acts as a technical operator managing the file exchanges with the WL Sips payment platform. A remitter can send the operations from several merchants in the same file provided these operations are declared in the name of this remitter during the registration step.

Note: WL Sips assigns a remitter number during registration. This number is supplied in the remitterId field of the request file header.

It should be noted that a remitter can also be a merchant themselves.

Understanding the format of the exchanged files

The request and response files exchanged with Sips Office Batch are in XML format.

Each file consists of four successive sections:

  • FILE TYPE corresponds to the file type (read the next section for an explanation of the various types)
  • HEADER contains the file header
  • BODY contains all operations
  • END marks the end of the file

The file header contains an ID in the form of a sequence number. This sequence number must be:

  • numerical
  • unique for all your files (with no time limit)
  • ascending i.e. must start at 1 and increase from 1 to 1

The file body contains several records. A record corresponds to a transaction or cash management operation, or a related function (such as wallet management, tokenisation or fraud management).

  • Sample request or response file main structure:
      FILE;…
HEADER;…
<OPERATION>;value1;value2;…
<OPERATION>;value1;value2;…
END;…
    
Note: the structure of the OPERATION element depends on the type of operation.
<OPERATION> contains the operation’s name (AUTHOR, VALIDATE, etc.).

In the CSV format, each record is prefixed with the uppercase name of the element type.

Field values of each element are specified one after the other and are separated by semicolons, without spaces and without being prefixed with their names. The order of these fields must be complied with.

Several response files can be processed over the same day. When several request files are available on the external FTPS account, Sips Office Batch processes them one by one successively (not simultaneously) and in their order of arrival on the FTPS account.

There is one response file for each request file even if the file processing generates errors.

Note: except in very specific cases, a response file adds the response fields to the information of the request file. Please read the 'Reconciliation of request and response files' section below.

General rules about the exchanged files

  • The file size cannot exceed 100 Mb or 100,000 operation records.
  • A file is dedicated to a single remitter.
  • A request file cannot contain several operations on the same transaction. For instance, a transaction cannot be created and cancelled in the same request file.
  • The order of operations in the body of the response file can differ from the order of operations in the request file.

The CSV syntax contains specific functions that will be described in detail throughout this document. In this syntax, the order of fields must be complied with.

Understanding the format of the request file

The file type is based on the service used.

All the fields of the “file type” element of the request are mandatory and in ANS20 format. They are returned unchanged in the response.

  • The tag name is file.
  • The type field must be request for the request and response for the response.
  • The format and version fields depend on the type of service called.
Format Version Service description
office The value must be 11 Acceptance of transactions and cash management operations.
token The value must be 1 PAN tokenisation and detokenisation.
  • Sample file type:
      ...
FILE;request;office;10
...
    

The header is based on a record that contains the following fields:

Fields Presence Format Description CSV field number
The tag name is header Mandatory ANS20 Indicates a header record. 1
remitterId Mandatory N15 Remitter's ID. 2
date Mandatory XML Date Date, in the merchant's time zone, on which the file was created (YYYY-MM-DD+hh:mm). 3
time Mandatory XML Time Time, in the merchant's time zone, on which the file was created (hh:mm:ss+hh:mm). 4
sequence Mandatory N6 File sequence number. You may add leading zeros on the left (e.g. 000001 for the first sequence number). 5
  • Sample header:
      ...
HEADER;023101122334455;2012-06-11+0200;14:28:00+0100;86
...
    

The body contains operations according to the service declared in the file element. Please refer to the next section for details on the fields for every operation.

In the CSV format, there is no special header for the “body” section of the file: all operations are specified directly after the “header” section.

  • Sample "body" section for the office service
      …
CARDORDER;1;012323232323231;SIM201206810160;1000;0;VALIDATION;470;
201201;209910;4975497549754975;1;978;test@worldline.com;123;127.0.0.1;
2012-11-29T17:04:30Z;INTERNET;123456;;context;;origin;all;;;;;;;;;FRA 
;;PAN;;;;;;VISA;APPLIED_DEFAULT;;;;;;
...
    

The final section is based on a single record that contains the following fields:

Fields Presence Format Description CSV field number
The tag name is end Mandatory ANS20 Indicates the end of the record. 1
nbRecord Mandatory N6 Number of operations in the "body" section. 2
  • Sample "end" element
      END;227
    

Request file naming scheme

The request file must be sent in a ZIP archive. The archive name must be OFBREQxx.ZIP , where "xx" is a number between 01 and 99.

An archive must only contain one request file.

You can name this request file freely; however we recommend you to comply with the following naming scheme: SOB.Alias.Date-Time.csv

where:

  • SOB is the request file to be sent to Sips Office Batch
  • Alias is the WL Sips alias/merchantId of the remitting shop
  • Date is the file date in YYMMDD format
  • Time is the file time in HHMMSS format.

Understanding the format of the response file

The header is based on a record that contains the following fields:

Fields Format Description CSV field number
The tag name is header ANS20 Indicates a header record. 1
remitterId N15 Remitter's ID. 2
date XML Date Date, in the merchant's time zone, on which the file was created (YYYY-MM-DD+hh:mm). 3
time XML Time Time, in the merchant's time zone, on which the file was created (hh:mm:ss+hh:mm). 4
sequence N6 File sequence number. 5
processingResponseCode AN2 Processing response code 6
beginProcessTime

ANS25

ISO8601

File processing starting timestamp, in the merchant's time zone. 7
endProcessTime

ANS25

ISO8601

File processing ending timestamp, in the merchant's time zone. 8
  • Sample header:
      ...
HEADER;023101122334455;2012-06-11+0200;14:28:00+0100;86;00;
2012-06-07T11:30:47+02:00;2012-06-07T11:31:43+02:00
...
    

The “error-details” element is only returned when an error occurs during the checking of the request file. “error-details” is a character string that describes the error.

  • Sample header:
      ...
ERRORDETAILS;ERROR_FILE_ALREADY_PROCESSED: processing_response_code = [02] : Error in the file sequence number. The file has already been processed.
Expected sequence number [2] - Request file sequence number [1]
...
    

The response file contains one element for each operation of the request file. The attributes of this element are filled in during the return. The returned fields are described in the next section.

The end of the response file is similar to the end of the request file and contains the following fields:

Fields Format Description CSV field number
The tag name is end ANS20 Indicates the end of the record 1
nbRecord N6 Number of operations in the "body" section 2
  • Sample "end" element:
      END;227
    

Response file naming scheme

The response file is sent in a ZIP archive. This archive is called s******.OFBREP**.zip.

Where:

  • s****** is a unique and non-customisable sequence number.
  • OFBREP** is a number between 01 and 99; this number is identical to that of the request file.

The name of the response file contained in the archive complies with the following naming scheme: OFFUBZ.OFFBAREP.$alias.$date (for instance OFFUBZ.OFFBAREP.MM20LEQUIPE0861.181216).

Where:

  • $alias is the WL Sips alias of the webshop.
  • $date is the file processing date in YYMMDD format.

Reconciliation of request and response files

To make it easier to reconcile request and response files, each request file is identified by a sequence number that is also returned with the response.

All the fields of the request file are also returned in the response file, except for the following fields because of compliance with the PCI DSS standard:

  • cardNumber can be returned hidden in the maskedPan field.
  • cardEffectiveDate (card effective date).
  • cardExpiryDate (card expiry date),
  • cardSeqNumber (card sequence number if present),
  • cardCSCValue (card security code).

WL Sips can modify the value of the following field if the creation of the transaction is followed by a banking authorization:

  • transactionDate

Getting started with Sips Office Batch in 4 steps

Step 1: requesting the creation of a FTPS account

To this end, you must return the Sips Office Batch registration form given to you by your Worldline technical contact. The creation of a FTPS account takes about 12 days from the receipt of the form if the latter has been filled in properly.

E-mails are then exchanged to test the FTPS account in validation mode before implementation in the production environment.

Step 2: using the available functions

The various possible functions are the subject of specific requests.

A request consists of generic fields and container-type fields.

A container is a data structure that groups data functionally.

If a field is that of a container, it is named <container name>.<field name>.

Tip: before you use a function, make sure you are allowed to use it on your shop by contacting the WL Sips technical support.
Note: in the responses, depending on the transaction status and the payment mean chosen, some fields can be null, empty or not returned. Please refer to the payment means documentations to know the field present in the responses.

cardOrder function of the office service

This function will let you make a card payment if you have a customer’s banking information.

cardOrder request format

All the records of the “body” section must contain the following information:

Fields Presence Comments CSV field number
The tag name is cardOrder . Mandatory Function name 1
recordSequence Mandatory N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId Mandatory 3
transactionReference Mandatory Optional if you use the S10TransactionReference . 4
amount Mandatory 5
captureDay Optional 6
captureMode Optional 7
cardCSCValue Optional 8
cardEffectiveDate Optional 9
cardExpiryDate Optional 10
cardNumber Mandatory 11
cardSeqNumber Mandatory 12
currencyCode Optional 13
customerEmail Mandatory 14
customerId Optional 15
customerIpAddress Optional 16
merchantTransactionDateTime Optional 17
orderChannel Optional 18
orderId Mandatory 19
paymentPattern Optional 20
returnContext Optional 21
statementReference Optional 22
transactionOrigin Optional 23
fraudData.bypass3DS Optional 24
fraudData.bypassCtrlList Optional 25
fraudData.bypassInfoList Optional 26
fraudData.allowedCardCountryList Optional 27
fraudData.deniedCardCountryList Optional 28
fraudData.allowedCardArea Optional 29
fraudData.deniedCardArea Optional 30
fraudData.allowedIpCountryList Optional 31
fraudData.deniedIpCountryList Optional 32
fraudData.allowedIpArea Optional 33
fraudData.deniedIpArea Optional 34
panType Optional Value set to TOKEN_PAN if payment is made using a token 35
paymentMeanData.accord.settlementMode Optional 36
paymentMeanData.cofinoga.settlementMode Optional 37
holderData Optional 38
s10TransactionReference.s10TransactionId Mandatory Optional if you use the transactionReference . 39
s10TransactionReference.s10TransactionIdDate Optional This field is computed by our server. There is no need to set a value in this field (as it will be ignored if set). 40
paymentMeanBrand Optional 41
PaymentMeanBrandSelectionStatus Optional 42
  • Sample cardOrder request
      …
CARDORDER;1;012323232323231;SIM201206810160;1000;0;VALIDATION;470;
201201;209910;4975497549754975;1;978;test@worldline.com;123;127.0.0.1;
2012-11-29T17:04:30Z;INTERNET;123456;;context;;origin;all;;;;;;;;;FRA 
;;PAN;;;;;;VISA;APPLIED_DEFAULT;;;;;;
...
    

Format of the response to the cardOrder request

The response contains all the fields of the request (except for cardCSCValue, cardEffectiveDate, cardExpiryDate, cardNumber, cardSeqNumber ), and the fields listed below:

Fields Comments CSV field number
The tag name is cardOrder . Function name 1
recordSequence N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId 3
transactionReference 4
amount 5
captureDay 6
captureMode 7
currencyCode 8
customerEmail 9
customerId 10
customerIpAddress 11
merchantTransactionDateTime 12
orderChannel 13
orderId 14
paymentPattern 15
returnContext 16
statementReference 17
transactionOrigin 18
fraudData.bypass3DS 19
fraudData.bypassCtrlList 20
fraudData.bypassInfoList 21
fraudData.allowedCardCountryList 22
fraudData.deniedCardCountryList 23
fraudData.allowedCardArea 24
fraudData.deniedCardArea 25
fraudData.allowedIpCountryList 26
fraudData.deniedIpCountryList 27
fraudData.allowedIpArea 28
fraudData.deniedIpArea 29
panType 30
paymentMeanData.accord.settlementMode 31
paymentMeanData.accord.additionalAuthorisationNumber 32
paymentMeanData.cofinoga.settlementMode 33
holderData 34
s10TransactionReference.s10TransactionId 35
s10TransactionReference.s10TransactionIdDate 36
acquirerResponseCode 37
authorisationId 38
complementaryCode 39
complementaryInfo 40
guaranteeIndicator 41
holderAuthentRelegation 42
holderAuthentStatus 43
maskedPan 44
officeBatchResponseCode 45
responseCode 46
transactionDateTime 47
tokenPan 48
authorMessageReference 49
acquirerResponseMessage 50
paymentMeanTradingName 51
cardData.cardProductCode 52
cardData.cardProductName 53
cardData.cardProductProfile 54
cardData.cardScheme 55
cardData.issuerCode 56
cardData.issuerCountryCode 57
cardData.cardProductUsageLabel 58
recurringResponseCode 59
paymentMeanBrand 60
paymentMeanBrandSelectionStatus 61
transactionPlatform For future use (for now systematically set to ‘PROD’.) 62
cardCSCResultCode 63
avsPostcodeResponseCode 64
avsAddressResponseCode 65
authorisationTypeLabel For future use (MPADS) 66
  • Sample response to a cardOrder request
              ...
CARDORDER;1;012323232323231;SIM201206810160;1000;0;VALIDATION;978;
test@worldline.com;123;127.0.0.1;20121129T17:04:30Z;INTERNET;123456;;context;;
origin;all;;;;;;;;;FRA;;;;;;;;00;1234569654656;;;;;;160000.47;00;00;2012-06-
14T16:00:00+02:00;;;;;F,VISA CLASSIC,C,VISA,00000,GRC;;;;PROD ;;;;
...
    

refund function of the office service

This operation enables you to refund a transaction by crediting your customer’s account and debiting your own account.

Note: please read the set-up guide ('cash management > refund' section), to find out in which cases you can perform a refund operation.

refund request format

All the records of the “body” section must contain the following information:

Fields Presence Comments CSV field number
The tag name is refund Mandatory Function name 1
recordSequence Mandatory N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId Mandatory 3
transactionReference Mandatory Reference of the transaction to be refunded. Optional if you use the s10TransactionReference . 4
operationAmount Mandatory 5
currencyCode Mandatory 6
operationOrigin Optional 7
s10TransactionReference.s10TransactionId Mandatory Reference of the transaction to be refunded. Optional if you use the transactionReference . 8
s10TransactionReference.s10TransactionIdDate Mandatory Reference of the transaction to be refunded. Optional if you use the transactionReference . 9
  • Sample refund request
      ...
REFUND;1;012323232323231;SIM201206810160;1000;978;operationOrigin;;
...
    

Format of the response to the refund request

The response contains all the fields of the request plus the following fields:

Fields Comments
The tag name is refund Function name
operationDateTime
transactionDateTime
responseCode
newStatus
newAmount
authorisationId
acquirerResponseCode
officeBatchResponseCode
  • Sample response to a refund request
      ...
REFUND;1;012323232323231;SIM201206810160;1000;978;operationOrigin;;;
2012-06-14T16:00:00+02:00;2012-06-14T16:00:00+02:00;00;TO_CREDIT;0;
956798798534;00;00
...
    

validate function of the office service

This function triggers the capture of a transaction. It enables you to provide deferred payment by debiting your customer’s account when the purchased goods are despatched.

validate request format

All the records of the "body" section must contain the following information:

Fields Presence Comments CSV field number
The tag name is validate Mandatory Function name 1
recordSequence Mandatory N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId Mandatory 3
transactionReference Mandatory Reference of the transaction to be validated. Optional if you use the s10TransactionReference . 4
operationAmount Mandatory 5
currencyCode Mandatory 6
operationOrigin Optional 7
s10TransactionReference.s10TransactionId Mandatory Reference of the transaction to be validated. Optional if you use the transactionReference . 8
s10TransactionReference.s10TransactionIdDate Mandatory Reference of the transaction to be validated. Optional if you use the transactionReference . 9
lastRecoveryIndicator Mandatory 10
  • Sample validate request
      ...
VALIDATE;1;012323232323231;SIM201206810160;1000;978;operationOrigin;;;TRUE
...
    

Format of the response to the validate request

The response contains all the fields of the request plus the following fields:

Fields Comments CSV field number
The tag name is validate . Function name 1
operationDateTime 11
responseCode 12
newStatus 13
newAmount 14
authorisationId 15
acquirerResponseCode 16
officeBatchResponseCode 17
captureLimitDate 18
  • Sample response to a validate request
      ...
VALIDATE;1;012323232323231;SIM201206810160;1000;978;operationOrigin;;;;
2012-06-14T16:00:00+02:00;2012-06-14T16:00:00+02:00;00;TO_CREDIT;
0;956798798534;00;00;2012-06-14T21:00:00+02:00
...
    

duplicate function of the office service

This function makes it possible to create a new transaction from the data of a previous transaction. For instance, if the transaction could not be validated during the specified capture period because of an error or oversight, this transaction has expired and will not be captured. You can correct this by duplicating this transaction.

duplicate request format

All the records of the "body" section must contain the following information:

Fields Presence Comments CSV field number
The tag name is duplicate . Mandatory Function name 1
recordSequence Mandatory N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId Mandatory 3
transactionReference Mandatory Optional if you use the s10TransactionReference . 4
amount Mandatory 5
currencyCode Mandatory 6
captureDay Optional 7
captureMode Optional 8
customerEmail Optional 9
customerId Optional 10
customerIpAddress Optional 11
fromTransactionReference Mandatory Reference of the transaction to be duplicated. Optional if you use the S10FromTransactionReference . 12
merchantTransactionDateTime Optional 13
orderChannel Mandatory 14
orderId Optional 15
returnContext Optional 16
transactionOrigin Optional 17
fromMerchantId Optional 18
fraudData.bypass3DS Optional 19
fraudData.bypassCtrlList Optional 20
fraudData.bypassInfoList Optional 21
fraudData.allowedCardCountryList Optional 22
fraudData.deniedCardCountryList Optional 23
fraudData.allowedCardArea Optional 24
fraudData.deniedCardArea Optional 25
fraudData.allowedIpCountryList Optional 26
fraudData.deniedIpCountryList Optional 27
fraudData.allowedIpArea Optional 28
fraudData.deniedIpArea Optional 29
statementReference Optional 30
s10TransactionReference.s10TransactionId Mandatory Optional if you use the transactionReference . 31
s10TransactionReference.s10TransactionIdDate Optional This field is computed by our server. There is no need to set a value in this field (as it will be ignored if set). 32
s10FromTransactionReference.s10TransactionId Mandatory Reference of the transaction to be duplicated Optional if you use the fromTransactionReference . 33
s10FromTransactionReference.s10TransactionIdDate Mandatory Reference of the transaction to be duplicated Optional if you use the fromTransactionReference . 34
paymentMeanData.paypal.invoiceId Optional PayPal Invoice reference; See PayPal integration guide . 35
paymentMeanData.bcacup.settlementMode Optional Settlement mode; See BCACUP integration guide. 36
  • Sample duplicate request
      
DUPLICATE;1;012323232323231;SIM201206810160;1000;978;1;VALIDATION;your.email@email.com;12345;127.0.0.1;SIM2012068102311;2012-06-07T11:30:47+02:00;MOTO;order-id;mycontext;SOB;;;;;;;;;;ATG,FRA,DNK;;;;;;;;invoice-id;COMPTAN;
    
    

Format of the response to the duplicate request

The response contains all the fields of the request plus the following fields:

Fields Comments CSV field number
The tag name is duplicate . Function name 1
authorisationId 35
acquirerResponseCode 36
complementaryCode 37
complementaryInfo 38
responseCode 39
scoreColor 40
scoreInfo 41
scoreProfile 42
scoreThreshold 43
scoreValue 44
transactionDateTime 45
officeBatchResponseCode 46
maskedPan 47
panExpiryDate 48
paymentMeanBrand 49
cardData.cardProductCode 50
cardData.cardProductName 51
cardData.cardProductProfile 52
cardData.cardScheme 53
cardData.issuerCode 54
cardData.issuerCountryCode 55
cardData.cardProductUsageLabel 56
paymentMeanBrandSelectionStatus 57
transactionPlatform Systematically set to ‘PROD’. 58
avsPostcodeResponseCode 59
avsAddressResponseCode 60
  • Sample response to a duplicate request
      ...
DUPLICATE;1;012323232323231;SIM201206810160;1000;978;1;VALIDATION;
your.email@email.com;12345;127.0.0.1;SIM2012068102311;2012-06-07T11:
30:47+02:00;MOTO;123;mycontext;SOB;;;;;;;;;;ATG,FRA,DNK;;;;;;;;009588;
00;;;00;;;;;2013-10-30T16:40:00+02:00;00; 
4907##########00;201610;VISA;F,VISA CLASSIC,C,VISA,00000,GRC;;PROD
...
    

cancel function of the office service

This function makes it possible to cancel a transaction or modify its amount before it is captured.

A cancellation operation cannot be cancelled. It is impossible to cancel an amount that exceeds the original amount of the transaction.

Note: please read the set-up guide ('cash management > cancellation' section), to find out in which cases you can perform a cancellation operation.

cancel request format

Fields Presence Comments CSV field number
The tag name is cancel . Mandatory Function name 1
recordSequence Mandatory N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId Mandatory 3
transactionReference Mandatory Reference of the transaction to be cancelled. Optional if you use the s10TransactionReference . 4
amount Mandatory 5
currencyCode Mandatory 6
operationOrigin Optional 7
s10TransactionReference.s10TransactionId Mandatory Reference of the transaction to be validated. Optional if you use the transactionReference . 8
s10TransactionReference.s10TransactionIdDate Mandatory Reference of the transaction to be validated. Optional if you use the transactionReference . 9
  • Sample cancel request
      ...
CANCEL;1;012323232323231;SIM201206810160;1000;978;operationOrigin;;
...
    

Format of the response to the cancel request

The response contains all the fields of the request plus the following fields:

Fields Comments CSV field number
the tag name is cancel . Operation name 1
operationDateTime 10
responseCode 11
newStatus 12
newAmount 13
officeBatchResponseCode 14
  • Sample response to a cancel request
      ...
CANCEL;1;012323232323231;SIM201206810160;1000;978;operationOrigin;;
...
    

credit function of the office service

This function enables you to credit a customer’s account without an original reference transaction. Therefore, you must have the information of your customer’s means of payment, or the associated token.

Note: this function is called creditHolder if you use Sips Office .

credit request format

All the records of the "body" section must contain the following information:

Fields Presence Description CSV field number
The tag name is credit . Mandatory Function name 1
recordSequence Mandatory N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId Mandatory 3
transactionReference Mandatory Optional if you use the S10TransactionReference . 4
amount Mandatory 5
cardEffectiveDate Optional 6
cardExpiryDate Mandatory 7
cardNumber Mandatory 8
cardCSCValue Optional 9
cardSeqNumber Optional 10
currencyCode Mandatory 11
customerEmail Optional 12
customerId Optional 13
customerIpAddress Optional 14
orderChannel Optional 15
orderId Optional 16
paymentMeanBrand Optional 17
returnContext Optional 18
transactionOrigin Optional 19
panType Optional 20
s10TransactionReference.s10TransactionId Mandatory Reference of the transaction to be validated. Optional if you use the transactionReference . 21
s10TransactionReference.s10TransactionIdDate Optional This field is computed by our server. There is no need to set a value in this field (as it will be ignored if set). 22
statementReference Optional 23
  • Sample credit request
      ...
CREDIT;1;012323232323231;SIM201206810160;124;201201;201212;1600000012331447;
470;1;978;test@worldline.net;123;127.0.0.1;MOTO;123456;VISA;context;
origin;;;RefC123
...
    

Format of the response to the credit request

The response contains all the fields of the request (except card fields), plus the following fields:

Fields Description CSV field number
The tag name is credit . Function name 1
recordSequence N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId 3
transactionReference 4
amount 5
currencyCode 6
customerEmail 7
customerId 8
customerIpAddress 9
orderId 10
paymentMeanBrand 11
returnContext 12
transactionOrigin 13
panType 14
s10TransactionReference.s10TransactionId 15
s10TransactionReference.s10TransactionIdDate 16
responseCode 17
acquirerResponseCode 18
authorisationId 19
maskedPan 20
newStatus 21
operationDateTime 22
officeBatchResponseCode 23
transactionPlatform For future use (for now systematically set to ‘PROD’). 24
statementReference 25
  • Sample response to a credit request
      ...
CREDIT;1;012323232323231;SIM201206810160;124;978;test@worldline.net;
123;127.0.0.1;123456;VISA;
context;origin;;;;00;00;1234569654656;160000.47;TO_CAPTURE;2012-06-14T16:
00:00+02:00;00;PROD;RefC123
...
    

walletOrder function of the office service

This function enables you to make payments using the information contained in your customers’ wallets.

walletOrder request format

All the records of the “body” section must contain the following information:

Fields Presence Comments CSV field number
The tag name is walletOrder . Mandatory Function name 1
recordSequence Mandatory N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId Mandatory 3
transactionReference Mandatory Optional if you use the S10TransactionReference . 4
amount Mandatory 5
captureDay Optional 6
captureMode Optional 7
currencyCode Mandatory 8
customerEmail Optional 9
customerId Optional 10
customerIpAddress Optional 11
merchantTransactionDateTime Optional 12
orderChannel Mandatory 13
orderId Optional 14
paymentMeanId Mandatory 15
returnContext Optional 16
statementReference Optional 17
merchantWalletId Mandatory 18
transactionOrigin Optional 19
cardCSCValue Optional 20
paymentPattern Optional 21
fraudData.bypass3DS Optional 22
fraudData.bypassCtrlList Optional 23
fraudData.bypassInfoList Optional 24
fraudData.allowedCardCountryList Optional 25
fraudData.deniedCardCountryList Optional 26
fraudData.allowedCardArea Optional 27
fraudData.deniedCardArea Optional 28
fraudData.allowedIpCountryList Optional 29
fraudData.deniedIpCountryList Optional 30
fraudData.allowedIpArea Optional 31
fraudData.deniedIpArea Optional 32
s10TransactionReference.s10TransactionId Mandatory Optional if you use the transactionReference . 33
s10TransactionReference.s10TransactionIdDate Optional This field is computed by our server. There is no need to set a value in this field (as it will be ignored if set). 34
  • Sample walletOrder request in CSV format
      ...
WALLETORDER;1;012323232323231;SIM201206810160;1000;0;VALIDATION;978;
test@worldline.com;123;127.0.0.1;2012-11-29T17:04:30Z;INTERNET;123456;1;
context;;2;origin;all;;;;;;;;;FRA;;;;100 ;ONE_SHOT
...
    

Format of the response to the walletOrder request

The response contains all the fields of the request, except cardCSCValue , plus the following fields:

Fields Comments CSV field number
The tag name is walletOrder . Operation name 1
recordSequence N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId 3
transactionReference 4
amount 5
captureDay 6
captureMode 7
currencyCode 8
customerEmail 9
customerId 10
customerIpAddress 11
merchantTransactionDateTime 12
orderChannel 13
orderId 14
paymentMeanId 15
returnContext 16
statementReference 17
merchantWalletId 18
transactionOrigin 19
paymentPattern 20
fraudData.bypass3DS 21
fraudData.bypassCtrlList 22
fraudData.bypassInfoList 23
fraudData.allowedCardCountryList 24
fraudData.deniedCardCountryList 25
fraudData.allowedCardArea 26
fraudData.deniedCardArea 27
fraudData.allowedIpCountryList 28
fraudData.deniedIpCountryList 29
fraudData.allowedIpArea 30
fraudData.deniedIpArea 31
s10TransactionReference.s10TransactionId 32
s10TransactionReference.s10TransactionIdDate 33
acquirerResponseCode 34
authorisationId 35
complementaryCode 36
complementaryInfo 37
guaranteeIndicator 38
holderAuthentRelegation 39
holderAuthentStatus 40
maskedPan 41
officeBatchResponseCode 42
responseCode 43
transactionDateTime 44
tokenPan 45
cardData.cardProductCode 46
cardData.cardProductName 47
cardData.cardProductProfile 48
cardData.cardScheme 49
cardData.issuerCode 50
cardData.issuerCountryCode 51
cardData.cardProductUsageLabel 52
transactionPlatform For now systematically set to ‘PROD’. 53
cardCSCResultCode 54
avsPostcodeResponseCode 55
avsAddressResponseCode 56
authorMessageReference No value set 57
authorisationTypeLabel No value set 58
  • Sample response to a walletOrder request
      ...
WALLETORDER;1;012323232323231;SIM201206810160;1000;0;VALIDATION;978;
test@worldline.com;123;127.0.0.1;20121129T17:04:30Z;INTERNET;123456;1;
context;;2;origin;ONE_SHOT;all;;;;;;;;;FRA;;;; 00;
1234569654656;;;;;;160000.47;00;00;2012-06-14T16:00:00+02:00;;;;;;;;PROD
...
    

walletCredit function of the office service

This function enables you to credit your customers' accounts through their wallets without prior transaction.

walletCredit request format

All the records of the “body” section must contain the following information:

Fields Presence Description CSV field number
The tag name is walletCredit . Mandatory Function name 1
recordSequence Mandatory N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId Mandatory 3
transactionReference Mandatory Optional if you use the S10TransactionReference . 4
amount Mandatory 5
merchantWalletId Mandatory 6
paymentMeanId Mandatory 7
currencyCode Mandatory 8
customerEmail Optional 9
customerId Optional 10
customerIpAddress Optional 11
orderChannel Optional 12
orderId Optional 13
returnContext Optional 14
transactionOrigin Optional 15
s10TransactionReference.s10TransactionId Mandatory Optional if you use the transactionReference . 16
s10TransactionReference.s10TransactionIdDate Optional This field is computed by our server. There is no need to set a value in this field (as it will be ignored if set). 17
statementReference Optional 18
  • Sample walletCredit request
      ...
WALLETCREDIT;1;012323232323231;SIM201206810160;124;A01;2;978;
test@worldline.net;123;127.0.0.1;MOTO;123456;VISA;context;origin;;;RefWN123
...
    

Format of the response to the walletCredit request

The response contains all the fields of the request plus the following fields:

Fields Description CSV field number
The tag name is walletCredit . Operation name 1
recordSequence N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId 3
transactionReference 4
amount 5
merchantWalletId 6
paymentMeanId 7
currencyCode 8
customerEmail 9
customerId 10
customerIpAddress 11
orderChannel 12
orderId 13
returnContext 14
transactionOrigin 15
s10TransactionReference.s10TransactionId Optional if you use the transactionReference . 16
s10TransactionReference.s10TransactionIdDate Optional if you use the transactionReference . 17
responseCode 18
acquirerResponseCode 19
authorisationId 20
maskedPan 21
paymentMeanBrand 22
newStatus 23
operationDateTime 24
officeBatchResponseCode 25
transactionPlatform Systematically set to ‘PROD’. 26
statementReference 27
  • Sample response to a walletCredit request
      ...
WALLETCREDIT;1;012323232323231;SIM201206810160;124;A01;2;978;
test@worldline.net;123;127.0.0.1;MOTO;123456;context;
origin;;;00;00;1234569654656;160000.47;VISA;
TO_CAPTURE;2012-06-14T16:00:00+02:00;00;PROD ;RefWN123
...
    

recycle function of the office service

This function makes it possible to create a new transaction from the banking data of a previous transaction. This operation is similar to duplication, with some limitations. It enables you to recycle a transaction that has expired, has been refused or has been captured partially (i.e. the amount of which has not been fully paid) without exceeding the amount of the initial transaction.

recycle request format

All the records of the “body” section must contain the following information:

Fields Presence Comments CSV field number
The tag name is recycle . Mandatory Operation name 1
recordSequence Mandatory N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId Mandatory 3
transactionReference Mandatory Optional if you use the S10TransactionReference . 4
amount Mandatory 5
currencyCode Mandatory 6
captureDay Optional 7
captureMode Optional 8
fromTransactionReference Mandatory Reference of the transaction to be recycled. Optional if you use the S10FromTransactionReference . 9
merchantTransactionDateTime Optional 10
transactionOrigin Optional 11
statementReference Optional 12
s10TransactionReference.s10TransactionId Mandatory Optional if you use the transactionReference . 13
s10TransactionReference.s10TransactionIdDate Optional This field is computed by our server. There is no need to set a value in this field (as it will be ignored if set). 14
s10FromTransactionReference.s10TransactionId Mandatory Reference of the transaction to be recycled. Optional if you use the fromTransactionReference . 15
s10FromTransactionReference.s10TransactionIdDate Mandatory Reference of the transaction to be recycled. Optional if you use the fromTransactionReference . 16
lastRecoveryIndicator Optional 17
  • Sample recycle request
      ...
RECYCLE;1;012323232323231;SIM201206810160;1000;978;1;VALIDATION;
SIM2012068102311;2012-06-07T11:30:47+02:00;SOB;REF1023540;;;;
...
    

Format of the response to the recycle request

The response contains all the fields of the request plus the following fields:

Fields Description CSV field number
The tag name is recycle . Function name 1
acquirerResponseCode 18
authorisationId 19
complementaryCode 20
complementaryInfo 21
maskedPan 22
officeBatchResponseCode 23
panExpiryDate 24
paymentMeanBrand 25
responseCode 26
scoreColor 27
scoreInfo 28
scoreProfile 29
scoreThreshold 30
scoreValue 31
transactionDateTime 32
cardData.cardProductCode 33
cardData.cardProductName 34
cardData.cardProductProfile 35
cardData.cardScheme 36
cardData.issuerCode 37
cardData.issuerCountryCode 38
cardData.cardProductUsageLabel 39
paymentMeanBrandSelectionStatus 40
transactionPlatform For now systematically set to ‘PROD’. 41
  • Sample response to a recycle request
      ...
ECYCLE;1;012323232323231;SIM201206810160;1000;978;1;VALIDATION;
SIM2012068102311;2012-06-07T11:30:47+02:00;SOB;REF1023540;;;;;;00;
956798798534;;;4700.58;00;201408;VISA;00;;;;;;2013-10-30T16:40:
00+02:00;;;;;;;;PROD
...
    

directDebitOrder function of the office service

This function enables you to make debit-type payments (SDD) in case you have a customer's banking information.

directDebitOrder request format

All the records of the “body” section must contain the following information:

Fields Presence Comments CSV field number
The tag name is directDebitOrder . Mandatory 1
recordSequence Mandatory 2
merchantId Mandatory 3
transactionReference Mandatory 4
amount Mandatory 5
captureDay Optional 6
captureMode Optional 7
currencyCode Mandatory 8
customerId Optional 9
customerIpAddress Optional 10
mandateId Mandatory 11
merchantTransactionDateTime Optional 12
paymentPattern Optional 13
orderChannel Mandatory 14
orderId Optional 15
returnContext Optional 16
statementReference Optional 17
transactionOrigin Optional 18
valueDate Optional 19
holderContact.firstName Optional 20
holderContact.lastName Optional 21
holderContact.gender Optional 22
holderContact.phone Optional 23
holderContact.email Optional 24
holderAddress.city Optional 25
holderAddress.country Optional 26
holderAddress.streetName Optional 27
holderAddress.streetNumber Optional 28
holderAddress.zipCode Optional 29
holderAddress.additionalAddress1 Optional 30
holderAddress.additionalAddress2 Optional 31
holderAddress.additionalAddress3 Optional 32
holderAddress.postbox Optional 33
holderAddress.state Optional 34
instalmentData.number Optional 35
instalmentData.datesList Optional 36
instalmentData.transactionReferencesList Optional 37
instalmentData.amountsList Optional 38
instalmentData.s10TransactionIdsList Optional 39
fraudData.bypass3DS Optional 40
fraudData.bypassCtrlList Optional 41
fraudData.bypassInfoList Optional 42
fraudData.allowedCardCountryList Optional 43
fraudData.deniedCardCountryList Optional 44
fraudData.allowedCardArea Optional 45
fraudData.deniedCardArea Optional 46
fraudData.allowedIpCountryList Optional 47
fraudData.deniedIpCountryList Optional 48
fraudData.allowedIpArea Optional 49
fraudData.deniedIpArea Optional 50
s10TransactionReference.s10TransactionId Mandatory Reference of the transaction. Optional if you use the transactionReference . 51
s10TransactionReference.s10TransactionIdDate Optional This field is computed by our server. There is no need to set a value in this field (as it will be ignored if set). 52
  • Sample directDebitOrder request
      ...
DIRECTDEBITORDER;1;012323232323231;TIR20140904000004;1000;;
AUTHOR_CAPTURE;978;12300;127.0.0.1;000000000000004403;2014-09-04T14:
04:30Z;;INTERNET;8888;context;ref1000;
batch;20140905;;;;;;;;;;;;;;;;;;;;;;;;;;;;
...
    

Format of the response to the directDebitOrder request

The response contains all the fields of the request plus the following fields:

Fields Comments CSV field number
The tag name is directDebitOrder . Function name 1
recordSequence N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId 3
transactionReference 4
amount 5
captureDay 6
captureMode 7
currencyCode 8
customerId 9
customerIpAddress 10
mandateId 11
merchantTransactionDateTime 12
paymentPattern 13
orderChannel 14
orderId 15
returnContext 16
statementReference 17
transactionOrigin 18
valueDate 19
holderContact.firstName 20
holderContact.lastName 21
holderContact.gender 22
holderContact.phone 23
holderContact.email 24
holderAddress.city 25
holderAddress.country 26
holderAddress.streetName 27
holderAddress.streetNumber 28
holderAddress.zipCode 29
holderAddress.additionalAddress1 30
holderAddress.additionalAddress2 31
holderAddress.additionalAddress3 32
holderAddress.postbox 33
holderAddress.state 34
instalmentData.number 35
instalmentData.datesList 36
instalmentData.transactionReferencesList 37
instalmentData.amountsList 38
instalmentData.s10TransactionIdsList 39
fraudData.bypass3DS 40
fraudData.bypassCtrlList 41
fraudData.bypassInfoList 42
fraudData.allowedCardCountryList 43
fraudData.deniedCardCountryList 44
fraudData.allowedCardArea 40
fraudData.deniedCardArea 41
fraudData.allowedIpCountryList 42
fraudData.deniedIpCountryList 43
fraudData.allowedIpArea 44
fraudData.deniedIpArea 45
s10TransactionReference.s10TransactionId 46
s10TransactionReference.s10TransactionIdDate 47
acquirerResponseCode 48
authorisationId 49
captureLimitDate 50
creditorId 51
guaranteeIndicator 52
holderAuthentRelegation 53
holderAuthentStatus 54
maskedPan 55
officeBatchResponseCode 56
responseCode 57
transactionActors 58
transactionDateTime 59
transactionPlatform For future use (for now systematically set to ‘PROD’). 60
secureReference 61
  • Sample response to a directDebitOrder request
      ...
DIRECTDEBITORDER;1;012323232323231;TIR20140904000024;1000;5;
AUTHOR_CAPTURE;978;123;127.0.0.1;000000000000004403;2014-
09-04T14:04:30Z;ONE_SHOT;INTERNET;8888;context;stateref;
batch;20140909;;;;;;;;;;;1;Thu Sep 04 00:00:00 CEST 
2014;TIR20140904000024;1000;;;;;;;;;;;;;;;00;
33105000010020140904;20140909;;;;;AGRIFRPP879/FR76
#####################48;00;00;B2C;2014-09-04T15:16:24+02:00
;PROD;SR12565459
...
    

acceptChallenge function of the office service

This function enables you to check and accept the risk of fraud for transactions with an orange fraud score. Once the transaction is accepted, its normal life cycle resumes.

acceptChallenge request format

All the records of the “body” section must contain the following information:

Fields Presence Comments CSV field number
The tag name is acceptChallenge . Mandatory Function name 1
recordSequence Mandatory N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId Mandatory 3
transactionReference Mandatory Reference of the transaction. Optional if you use the S10TransactionReference . 4
validationIndicator Optional 5
operationOrigin Optional 6
comment Optional 7
s10TransactionReference.s10TransactionId Mandatory Reference of the transaction. Optional if you use the transactionReference . 8
s10TransactionReference.s10TransactionIdDate Mandatory Reference of the transaction. Optional if you use the transactionReference . 9
  • Sample acceptChallenge request
      ...
ACCEPTCHALLENGE;1;012323232323231;SIM201206810160;Y;batch;client fidelity;;
...
    

Format of the response to the acceptChallenge request

The response contains all the fields of the request plus the following fields:

Fields Description CSV field number
The tag name is acceptChallenge . Function name 1
acquirerResponseCode 10
authorisationId 11
captureLimitDate 12
newStatus 13
officeBatchResponseCode 14
operationDateTime 15
responseCode
  • Sample response to an acceptChallenge request
      ...
ACCEPTCHALLENGE;1;012323232323231;SIM201206810160;Y;batch;client fidelity;;;00;956798798534; 
20150515;VALIDATED;00;2015-02-12T09:30:47+02:00;00
...
    

refuseChallenge function of the office service

This function enables you to check and refuse the risk of fraud for transactions with an orange fraud score. In the case of a refusal, the transaction is not captured.

refuseChallenge request format

All the records of the “body” section must contain the following information:

Fields Presence Comments CSV field number
The tag name is refuseChallenge . Mandatory Function name 1
recordSequence Mandatory N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId Mandatory 3
transactionReference Mandatory Reference of the transaction. OPtional if you use the S10TransactionReference . 4
operationOrigin Optional 5
comment Optional 6
s10TransactionReference.s10TransactionId Mandatory Reference of the transaction. Optional if you use the transactionReference . 7
s10TransactionReference.s10TransactionIdDate Mandatory Reference of the transaction. Optional if you use the transactionReference . 8
  • Sample refuseChallenge request
      ...
REFUSECHALLENGE;1;012323232323231;SIM201206810160;batch;score warning;;
...
    

Format of the response to the refuseChallenge request

The response contains all the fields of the request plus the following fields:

Fields Description CSV field number
The tag name is refuseChallenge . Function name 1
newStatus 9
officeBatchResponseCode 10
operationDateTime 11
responseCode 12
  • Sample response to a refuseChallenge request
      ...
REFUSECHALLENGE;1;012323232323231;SIM201206810160;batch;score warning;;;REFUSED;00;2015-02-12T09:30:47+02:00;00
...
    

panToToken function of the token service

This function makes it possible to tokenise a card number.

panToToken request format

All the records of the “body” section must contain the following information:

Fields Presence Comments CSV field number
The tag name is panToToken . Mandatory Operation name 1
recordSequence Mandatory N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId Mandatory 3
pan Mandatory 4
userId Mandatory 5
  • Sample panToToken request
      ...
PANTOTOKEN;1;012323232323231;idofuser;4975497549754975
...
    

Format of the response to the panToToken request

The response contains the following fields:

Fields Comments CSV field number
The tag name is panToToken . Operation name 1
recordSequence N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId 3
tokenPan 4
responseCode 5
officeBatchResponseCode 6
  • Sample response to a panToToken request
      ...
PANTOTOKEN;1;012323232323231;497899AcDEF57631;00;00
...
    

transactionToToken function of the token service

This operation makes it possible to convert the PAN of an existing transaction into a token.

transactionToToken request format

All the records of the “body” section must contain the following information:

Fields Presence Comments CSV field number
The tag name is transactionToToken . Mandatory Operation name 1
recordSequence Mandatory N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId Mandatory

3
fromMerchantId Optional

ID of the merchant of the original transaction.

Mandatory if differs from the merchantId .

4
fromTransactionReference Optional

Mandatory if s10FromTransactionReference not specified.

5
s10FromTransactionReference.s10TransactionId Optional

See duplicate.

Mandatory if fromTransactionReference not specified.

6
s10FromTransactionReference.s10TransactionIdDate Optional

See duplicate.

Mandatory if fromTransactionReference not specified.

7
merchantExternalId Optional 8
  • Sample transactionToToken request
      ...
TRANSACTIONTOTOKEN;1;024729465300101;024729465300006;SIM20170613140621;;;
myMerchantExternalId
...
    

Format of the response to the transactionToToken request

The response contains the following fields:

Fields Comments CSV field number
The tag name is transactionToToken. Operation name 1
recordSequence N6 – This attribute indicates the line number, which allows you to reconcile the response with the request. 2
merchantId 3
fromMerchantId 4
fromTransactionReference 5
s10FromTransactionReference.s10TransactionId See duplicate. 6
s10FromTransactionReference.s10TransactionIdDate See duplicate. 7
merchantExternalId 8
responseCode 9
tokenPan 10
paymentMeanBrand 11
cardExpiryDate 12
officeBatchResponseCode 13
  • Sample response to a transactionToToken request
      ...
TRANSACTIONTOTOKEN;1;024729465300101;024729465300006;SIM20170613140621;;;
myMerchantExternalId;;00;490700h719850600;VISA ;201802;00
...
    

Analysing errors when checking the file

There are several response code levels when Sips Office Batch processes a file. Several overall checks are carried out before the file is processed. If one of these checks fails, the file is completely rejected. (the processingResponseCode is neither 00 nor 01).

The returned response file contains the overall processing result code in the processingResponseCode field, in the file header.

Overall processing result codes

Code Meaning
00 File processed correctly . The file contains the list of operations.
01 File processed correctly. An operation has been associated with a merchant that is not related to the remitter ID. The operation will set the value of the officeBatchResponseCode field to 80.
02 File already processed The file sequence number is lower than it should be. The correct number is returned in the message that describes the error.
03 Sequence broken in the file sequence number . The file sequence number is higher than it should be. The correct number is returned in the message that describes the error.
04 Technical issue . Internal issue
05 File too big
06 The number of operations exceeds the maximum authorised amount. The maximum number of operations has been reached.
07 The number of operations counted is different from the number specified in the nbRecord field.
08 Duplicate operation
09 Incorrect record
10 Incorrect file format . The file format is not correct (the error description will be returned in the error-details tag).
11 Incorrect remitter. The remitter declared in the header is not correct.
Autres codes Incorrect file (these codes apply to older Sips Office Batch versions).
Response code Cause Solution
Different from 00 and 01 Restarting processing The request file must be returned in its entirety with the same file sequence number.
03 File sequence number interruption The file was completely refused. If necessary, the sequence number must be corrected and the file returned.
04 Technical error

An operation caused a technical error. File processing was not interrupted. In this case, the processing can be very fast since all operations with code 25 or 90 will be refused ( responseCode field).

For now, Worldline has not supplied any mechanism to defer the processing until a new connection is established.

None CSV file format error When the batch file processing service of the version of the file cannot be identified, or its format is incorrect (e.g. blank entry in the file, etc.), a generic response is sent to the merchant. This response looks like this:
        RESPONSE
FATAL_ERROR
END
      

Analysing the errors caused by an operation

Each operation is considered as independent. Each operation has its own stored response code ( officeBatchResponseCode code). The code indicates the field that causes the issue.

If an operation fails, the processing is not interrupted. The operation is refused with the typical WL Sips response code ( responseCode field).

Codes Fields in question
00 None (all fields are correct)
01 merchantId error
03 transactionReference error
04 merchantTransactionDateTime error
05 amount error
06 captureDay error
07 captureMode error
08 operationAmount error
09 operationOrigin error
11 currencyCode error
12 customerIpAddress error
13 customerEmail error
14 customerId error
16 orderId error
17 orderChannel error
18 transactionOrigin error
19 returnContext error
20 fromTransactionReference error
21 cardExpiryDate error
22 cardNumber error
23 cardCSCValue error
24 cardEffectiveDate error
25 cardSeqNumber error
26 paymentMeanBrand error
27 authorisationId error
28 merchantWalletId error
29 paymentMeanId error
30 paymentPattern error
31 number error
32 statementReference error
33 panType error
34 mandateId error
35 valueDate error
36 paymentMeanAlias error
37 account error
38 bankCode error
39 transactionActors error
45 Date fields format error
46 settlementMode error
47 comment error
48 validationIndicator error
50 s10TransactionId error
51 s10TransactionIdDate error
52 s10FromTransactionId error
53 s10FromTransactionIdDate error
54 fraudData error
55 riskManagementDynamicParam error
56 riskManagementDynamicValue error
57 riskManagementDynamicSettingList error
58 fraudListReason error
59 fraudListType error
60 fraudListLevel error
61 fraudListElementType error
62 fraudListElementValue error
63 lastRecoveryIndicator error
80 Merchant not registered with Sips Office Batch or not associated with the remitter declared in the header

Step 3: testing in the customer's validation environment

The objective is to validate that the file structure and query syntax are correct. For this first step, you do not need to have an acquiring contract since there is no connection to the payment acquirer: card authorisation requests are simulated. Transactions are stored in the WL Sips back office and you can test cash management operations on these transactions.

Contact the technical support to have a shop configured in the validation environement and request that file transfer be implemented between your site and WL Sips .

Step 4: validating the transition to live operation

First, submit a file containing a limited number of operations to validate the transition to live operation. Check the response file to make sure all operations were carried out correctly:

  • Monitor the acceptance rate (number of responseCode 00/total number of operations).
  • Check the nature of non-banking refusals:
    • technical issue: responseCode   90, 97, 99,
    • acquirer fraud: responseCode  34.