Information Lookup Service Transactions
The Information Lookup Service (ILS) operation allows you to run a report through the API over a date range you specify to return data on Authorizations, Settlements, Credits, and Chargebacks processed through a merchant account. You can use the type element to combine one or more transaction types in a single request.
This chapter describes how to process the ILS operation via the Paysafe Web Service.
• The ILS operation accepts an ilsLookupRequestV1 document object.
• The ILS operation returns an ilsLookupResponseV1 response.
Paysafe ILS WSDLs and links
Building ILS requests
ILS requests require the ilsLookupRequestV1 document object. This section describes the structure of an ilsLookupRequestV1 and how to construct one.
ILS – C#
The following is an ILS example in C#:
//Prepare the call to the Credit Card Web Service
ILSLookupRequestV1 ilsLookupRequest = new ILSLookupRequestV1();
MerchantAccountV1 merchantAccount = new MerchantAccountV1();
merchantAccount.accountNum = "12345678";
merchantAccount.storeID = "myStoreID";
merchantAccount.storePwd = "myStorePWD";
DateV1 startDate = new DateV1();
startDate.year = 2008;
startDate.month = 11;
startDate.day = 3;
startDate.hour = 0;
startDate.minute = 0;
startDate.second = 0;
DateV1 endDate = new DateV1();
endDate.year = 2008;
endDate.month = 11;
endDate.day = 3;
endDate.hour = 14;
endDate.minute = 40;
endDate.second = 59;
RequestTypeV1[] txnTypes = new RequestTypeV1[1];
txnTypes[0] = RequestTypeV1.settlements;
IlsLookupRequestV1 req = new IlsLookupRequestV1();
req.merchantAccount = merchantAccount;
req.startDate = startDate;
req.endDate = endDate;
req.type = txnTypes;
System.Console.WriteLine("Sending request...");
IlsServiceV1 ilsService = new IlsServiceV1();
IlsLookupResponseV1 response = null;
response = ilsService.ilsLookup( req );
System.Console.WriteLine("Response received: ");
String responseTxt = "";
if( response != null )
{
responseTxt += "Decision: " + response.decision + Environment.NewLine;
responseTxt += "Description: " + response.description + Environment.NewLine;
if( response.decision == DecisionV1.ACCEPTED )
{
responseTxt += "Authorizations: " + response.transactions.authorizations + Environment.NewLine;
responseTxt += "Settlements: " + response.transactions.settlements + Environment.NewLine;
responseTxt += "Chargebacks: " + response.transactions.chargebacks + Environment.NewLine;
responseTxt += "Credits: " + response.transactions.credits + Environment.NewLine;
}
}
System.Console.WriteLine( responseTxt );
ilsLookupRequestV1 schema
An ilsLookupRequestV1 has the following structure:
ilsLookupRequestV1 elements
The ilsLookupRequestV1 document object contains the following elements:
Element | Child Element | Required | Type | Description |
---|---|---|---|---|
merchantAccount | accountNum | Yes | String Max = 10 | This is the merchant account number. |
storeID | Yes | String Max = 80 | This is the Paysafe store identifier, used to authenticate the request. It is defined by Paysafe and provided to the merchant as part of the integration process. | |
storePwd | Yes | String Max = 20 | This is the Paysafe store password, used to authenticate the request. It is defined by Paysafe and provided to the merchant as part of the integration process. | |
startDate | year | Yes | Int Max = 9999 | This is the year set for the search start. |
month | Yes | Int Min = 1 Max = 12 | This is the month set for the search start. | |
day | Yes | Int Min = 1 Max = 31 | This is the day set for the search start. | |
hour | Yes | Int Min = 0 Max = 23 | This is the hour set for the search start. | |
minute | Yes | Int Min = 0 Max = 59 | This is the minute set for the search start. | |
second | Yes | Int Min = 0 Max = 59 | This is the second set for the search start. | |
endDate | year | Yes | Int Max = 9999 | This is the year set for the search end. |
month | Yes | Int Min = 1 Max = 12 | This is the month set for the search end. | |
day | Yes | Int Min = 1 Max = 31 | This is the day set for the search end. | |
hour | Yes | Int Min = 0 Max = 23 | This is the hour set for the search end. | |
minute | Yes | Int Min = 0 Max = 59 | This is the minute set for the search end. | |
second | Yes | Int Min = 0 Max = 59 | This is the second set for the search end. | |
type | Yes | Enumeration | This is the type of transaction for which you are looking for data. Possible values are: • authorizations • settlements • credits • chargebacks • dd-charge • dd-credit • dd-charge-bacs (returns mandateReference element) • dd-credit-bacs (returns mandateReference element) • dd-mandate-bacs (returns mandateReference and effectiveDate elements) | |
ccOptions | Optional | Enumeration | For internal use only. | |
ddOptions | Optional | |||
dateType | Optional | Enumeration | This specifies the nature of the transaction status that will searched for. • initiation – The search will be conducted on all checks that were presented during the time period specified. If the dateType is not specified, this is the default setting. • status_change – The search will be conducted on all checks whose status changed during the time period specified. | |
status | Optional | Enumeration | The lookup request will return only those transactions with the status specified here. When combined with a status_change element, only those records that had the specified status during that date range are returned. If this element is not specified then transactions of all statuses are returned. Possible values are: • Presented • Represented • Returned • Pending Customer Approval • Pending • Active • Declined • Cancelled • Failed • Cleared |
The maximum range for an ILS request is 24 hours.
Processing the response
The following is an example of a typical ilsLookupResponseV1 for a successful transaction.
<ilsLookupResponseV1 xmlns="http://www.optimalpayments.com/ils/xmlschema/v1">
<decision>ACCEPTED</decision>
<description/>
<merchantAccount>10000400036</merchantAccount>
<currency>USD</currency>
<startDate>
<year>2011</year>
<month>2</month>
<day>5</day>
<hour>0</hour>
<minute>0</minute>
<second>0</second>
</startDate>
<endDate>
<year>2011</year>
<month>3</month>
<day>5</day>
<hour>23</hour>
<minute>59</minute>
<second>59</second>
</endDate>
<txnType>
<code>authorizations</code>
<count>2</count>
</txnType>
<txnType>
<code>settlements</code>
<count>2</count>
</txnType>
<txnType>
<code>credits</code>
<count>1</count>
</txnType>
<txnType>
<code>chargebacks</code>
<count>1</count>
</txnType>
<transactions childFma='1000201930'>
<authorizations>100052493|FS|2011-02-05 09:57:54|test 123|111.65
</authorizations>
<settlements>100052493|C|2011-02-05 09:57:55|test 123|111.65
</settlements>
<credits>116883988|C|2011-03-02 15:17:09|test 123|5.0|102318569|USD
</credits>
<chargebacks>368237|100052493|test 123|test 123|1111|2011-02
-05|111.65|USD|111.65|30|40003610000160100052493|100000|1||2008-02-05
</chargebacks>
</transactions>
<transactions childFma='1000201931'>
<authorizations>100052493|FS|2011-02-05 09:57:54|test 123|88.00
</authorizations>
<settlements>100052493|C|2011-02-05 09:57:55|test 123|88.00
</settlements>
</transactions>
</ilsLookupResponseV1>
The following is an example of a typical ilsLookupResponseV1 for a rejected transaction. In this example, an invalid merchant ID or password was submitted.
<ilsLookupResponseV1 xmlns="http://www.optimalpayments.com/ils/xmlschema/v1">
<decision>REJECTED</decision>
<description>Invalid Credentials</description>
</ilsLookupResponseV1>
ilsLookupResponseV1 schema
An ilsLookupResponseV1 has the following structure:
The following elements are relevant for an ilsLookupResponseV1:
Element | Child Element | Required | Type | Description |
---|---|---|---|---|
decision | Yes | Enumeration | This is the status of the transaction. One of the following is returned: • Accepted – the transaction was processed. • Error – the transaction was attempted, but failed for some reason. • Rejected – the request was rejected, e.g., due to invalid merchant credentials. | |
description | Yes | String Max = 1024 | If the decision returned is Error or Rejected, this is a description of the error. | |
merchantAccount | Yes | String Max = 10 | This is the merchant account number. | |
currency | Yes | String Length = 3 | This is the currency of the merchant account. | |
startDate | year | Yes | Int Max = 9999 | This is the year set for the search start date. |
month | Yes | Int Min = 1 Max = 12 | This is the month set for the search start date. | |
day | Yes | Int Min = 1 Max = 31 | This is the day set for the search start date. | |
hour | Yes | Int Min = 0 Max = 23 | This is the hour set for the search start date. | |
minute | Yes | Int Min = 0 Max = 59 | This is the minute set for the search start date. | |
second | Yes | Int Min = 0 Max = 59 | This is the second set for the search start date. | |
endDate | year | Yes | Int Max = 9999 | This is the year set for the search end date. |
month | Yes | Int Min = 1 Max = 12 | This is the month set for the search end date. | |
day | Yes | Int Min = 1 Max = 31 | This is the day set for the search end date. | |
hour | Yes | Int Min = 0 Max = 23 | This is the hour set for the search end date. | |
minute | Yes | Int Min = 0 Max = 59 | This is the minute set for the search end date. | |
second | Yes | Int Min = 0 Max = 59 | This is the second set for the search end date. | |
txnType | code | Yes | String | This is the type of transaction for which you searched for data. Possible values are: • authorizations • settlements • credits • chargebacks • dd-charge • dd-credit • dd-charge-bacs (includes mandateReference element) • dd-credit-bacs (includes mandateReference element) • dd-mandate-bacs (includes mandateReference and effectiveDate elements) |
count | Yes | Int | This is the number of the transaction type returned in the code element above. Each code element returned has its own count. | |
transactions | Optional | |||
Attribute of transactions | ||||
childFma | Conditional | String Max = 10 | This is the child merchant account number, and provided only if the account provided for the merchantAccount element is a master account. | |
authorizations | Optional | String | Each instance of authorizations contains further details. | |
settlements | Optional | String | Each instance of settlements contains further details. | |
credits | Optional | String | Each instance of credits contains further details. | |
chargebacks | Optional | String | Each instance of chargebacks contains further details. | |
dd-charge | Optional | String | Each instance of dd-charge, dd-credit, dd-charge-bacs, dd-credit-bacs, and dd-mandate-bacs contains further details. | |
dd-credit | Optional | String | ||
dd-charge-bacs | Optional | String | ||
dd-credit-bacs | Optional | String | ||
dd-mandate-bacs | Optional | String |
Response element contents
Paysafe may without warning, when necessary, add additional detail elements to each of the transaction response types documented below (authorizations, settlements, credits, and chargebacks).
These additional detail elements will be added at the end of the current pipe-separated element list, as in the example below.
<ilsLookupResponseV1 xmlns="http://www.optimalpayments.com/ils/xmlschema/v1">
…
<transactions childFma='1000201930'>
<authorizations>100052493|FS|2011-02-05 09:57:54|test 123|
111.65|added element|added element
</authorizations>
<settlements>100052493|C|2011-02-05 09:57:55|test 123
|111.65|added element|added element
</settlements>
<credits>116883988|C|2011-03-02 15:17:09|test 123|5.0|102318569|
USD|added element|added element
</credits>
<chargebacks>368237|100052493|test 123|test 123|1111|2011-02-05
|111.65|USD|111.65|30|40003610000160100052493|100000|1||
2008-02-05|added element
</chargebacks>
…
</ilsLookupResponseV1>
It is the merchant’s responsibility to ensure that their integration for the ilsLookupRequestV1 is not adversely affected by the addition of extra detail elements by Paysafe
Authorizations response details
The following details may returned for authorizations:
Parameter | Description |
---|---|
Record Sequence | This is the confirmation number assigned by Paysafe to the transaction. |
Authorization Status | This is the status of the Authorization. Possible values are: • A – Authorized • FS – Fully Settled • AS – Partially Settled |
Transaction Date/Time | This is the date and time the Authorization was processed. |
Merchant Transaction ID | This is the transaction ID assigned by the merchant to the Authorization. |
Amount | This is the amount of the Authorization. |
Settlements response details
The following details may be returned for settlements:
Parameter | Description |
---|---|
Record Sequence | This is the confirmation number assigned by Paysafe to the transaction. |
Settlement Status | This is the current status of the Settlement transaction. Possible values are: • B – Batched • E – Error • P – Pending • C – Complete • K – Cancelled • HO – Hold • DE – Declined • MI – Manual |
Transaction Date/Time | This is the date and time the Settlement was processed. |
Merchant Transaction ID | This is the transaction ID assigned by the merchant to the Settlement. |
Amount | This is the amount of the Settlement. |
Credits response details
The following details may be returned for credits:
Parameter | Description |
---|---|
Record Sequence | This is the confirmation number assigned by Paysafe to the transaction. |
Settlement Status | This is the current status of the Settlement transaction. Possible values are: • B – Batched • E – Error • P – Pending • C – Complete • K – Cancelled • HO – Hold • DE – Declined • MI – Manual |
Transaction Date/Time | This is the date and time the Settlement was processed. |
Merchant Transaction ID | This is the transaction ID assigned by the merchant to the Settlement. |
Amount | This is the amount of the Settlement. |
Chargebacks response details
The following details may be returned for chargebacks:
Parameter | Description |
---|---|
Chargeback ID | This is the Record ID in our Dispute Management system. Each chargeback has a unique Record ID to identify it. |
Authorization Transaction ID | This is the transaction ID assigned by Paysafe to the original Authorization. |
Authorization Merchant Transaction ID | This is the transaction ID assigned by the merchant to the original Authorization. |
Settlement Merchant Transaction ID | This is the transaction ID assigned by the merchant to the Settlement that was charged back. |
Card Ending | This is the last 4 digits of the credit card used for the original Authorization. |
Original Settlement Date | This is the date of the Settlement of the original Authorization. Format = yyyy-mm-dd |
Original Settlement Amount | This is the amount that was settled against the original Authorization. |
Currency Code | This is the currency of the merchant account. |
Chargeback Amount | This is the amount that is being charged back against the Settlement. |
Reason Code | This is the reason the transaction was charged back. |
ARN | This is the Acquirer’s Reference Number, a unique identification reference number assigned to each settlement transaction by the acquirer. |
Original Authorization Code | This is the authorization code assigned by the issuing bank and returned by Paysafe if the transaction was process via the Direct Payment protocol. |
CBTY Code | This is the type of chargeback. Possible values are: • 1 – Chargeback • 2 – Chargeback Reversal • C – Risk Only Notice • D – Denied/Lost Representment • RET – Retrieval Request |
Disputed Flag | This flag indicates whether a transaction is being disputed. Possible values are: • Null • Yes |
FMA Posting Date | This is the date the chargeback was posted to the merchant account. Format = yyyy-mm-dd |
Direct Debit response details
The following details may be returned for Direct Debit transactions:
Parameter | Description |
---|---|
Echeck ID | This is the confirmation number assigned by Paysafe to the transaction. |
Echeck Status | This is the current status of the Direct Debit transaction. Possible values are: • AP – Approved mandate • C – Complete batch • CL – Cleared transaction • DE – Declined • E – Error batch • F – Failed • PR1 – Presented 1 • PR2 – Presented 2 • RE – Rejected • REF – Rejected final • RF – Refunded • RV – Reversed • W – Waiting to be batched • X – Cancelled |
Presentation Date | This is the date and time the transaction was processed. |
Merchant Transaction ID | This is the transaction ID assigned by the merchant to the transaction. |
Amount | This is the amount of the transaction. This value will be 0.0 when the txnType was set to dd-mandate-bacs. |
Filtered Status | When the dateType child element of ddOptions is set to “initiation” (default), this value is the same as the Echeck Status value, above in this table. When the dateType child element of ddOptions is set to “status_change”, this is the status that was used for the search. Here are the statuses returned in each of the search scenarios. Presented • C Represented • PR1 • PR2 Returned • RE • REF |
Latest Status Update Time | This is the date and time of the latest status update. |
Return Code | This is the return code if the mandate or transaction has been returned by the banking network. NOTE: This field is returned only for dd-charge-bacs, dd-credit-bacs, and dd-mandate-bacs. |
Bank Reference | This is the full reference used to send to the banking network. • For dd-mandate-bacs, this will be the 10-character mandateReference. • For dd-charge-bacs, this will be 18 characters comprising the 10-character mandateReference and 8 characters for the echeck ID of the transaction (charge). NOTE: This field is returned only for dd-charge-bacs, dd-credit-bacs, and dd-mandate-bacs. |
Effective Date | This is returned for dd-mandate-bacs requests only. It is the date the mandate will become active with the bank. Transactions may not be requested against this mandate before the effective date. Once the mandate becomes active, the value returned for this field will be null. NOTE: This field is returned only for dd-charge-bacs, dd-credit-bacs, and dd-mandate-bacs. |
Reason codes
Chargeback reason codes
One of the following chargeback reason codes may be returned with a chargebacks response:
Card Brand | Code | Description |
---|---|---|
MC | 01 | Requested Transaction Data Not Received |
MC | 02 | Requested item illegible |
MC | 07 | Warning Bulletin File |
MC | 08 | Requested/Required Authorization Not Obtained |
MC | 12 | Account Number Not on File |
VI | 30 | Services Not Provided or Merchandise Not Received |
MC | 31 | Transaction Amount Differs |
MC | 34 | Duplicate Processing |
MC | 35 | Card Not Valid or Expired |
MC | 37 | Fraudulent Mail/Phone Order Transaction |
MC | 40 | Fraudulent Processing of Transaction |
MC | 41 | Canceled Recurring Transaction |
VI | 41 | Canceled Recurring Transaction |
MC | 42 | Late Presentment |
MC | 47 | Exceeds Floor Limit, Not Authorized, and Fraudulent Transaction |
MC | 49 | Questionable Merchant Activity |
MC | 50 | Credit Posted as a Debit |
MC | 53 | Cardholder Dispute Defective/Not as Described |
VI | 53 | Not as Described/Defective Merchandise |
MC | 54 | Cardholder Dispute - Not Elsewhere classified (US Only) |
MC | 55 | Non-Receipt of Merchandise |
VI | 57 | Fraudulent Multiple Transactions |
MC | 59 | Services Not Rendered |
MC | 60 | Credit Not Processed |
VI | 60 | Requested Copy Illegible |
MC | 62 | Counterfeit Transaction Magnetic Stripe POS Fraud |
VI | 62 | Counterfeit Transaction |
MC | 63 | Cardholder Does Not Recognize – Potential Fraud |
VI | 71 | Authorization Request Declined/Declined Authorization |
VI | 72 | No Authorization / Transaction Exceeds Floor Limit |
VI | 73 | Expired Card |
VI | 74 | Late Presentment |
VI | 75 | Cardholder Does Not Recognize the Transaction |
VI | 76 | Incorrect Transaction Code |
VI | 77 | Non-Matching Account Number |
VI | 79 | Requested Transaction Information Not Received |
VI | 80 | Incorrect transaction amount or account number |
VI | 81 | Fraudulent transaction – Card Present Environment |
VI | 82 | Duplicate Processing |
VI | 83 | Fraudulent Transaction – Card Absent Environment |
VI | 85 | Credit Not Processed |
VI | 86 | Paid by Other Means |
Retrieval request reason codes
One of the following retrieval request reason codes may be returned with a chargebacks response:
Card Brand | Code | Description |
---|---|---|
MC | 05 | Chargeback Support – Card Holder Does Not Agree with Amount Billed |
MC | 21 | Cardholder Inquiry – Does Not Recognize Transaction (Merchant Name, City, State or Date) |
MC | 22 | Cardholder Inquiry – Disagrees With Billing |
MC | 23 | Cardholder Inquiry – Needs for Personal Records |
MC | 24 | Cardholder Inquiry – No Reason Code |
VI | 28 | Cardholder Requests Copy Bearing Signature |
VI | 29 | Request for T&E Documents |
VI | 30 | Cardholder Dispute, Cardholder Request Draft |
VI | 33 | Legal Process or Fraud Analysis |
VI | 34 | Repeat Request for Copy |
MC | 41 | Legal/Fraud Analysis – Signature Verification |
MC | 42 | Potential Chargeback or Compliance Documentation |
MC | 43 | Legal/Fraud – Imprint Verification |
Discover chargeback and retrieval request reason codes
One of the following chargeback or retrieval request reason codes may be returned with a chargebacks response:
Code | Description |
---|---|
AL | Cardholder challenges the validity of an airline card sale. |
AP | Cardholder challenges the validity of multiple recurring payments card sales after expiration or cancellation of the recurring payments plan agreement. |
AW | Incorrect transaction amount or account number/transaction amount differs. |
CA | Cardholder challenges the validity of a cash advance or cash over transaction, other than a Discover ATM transaction. |
CD | Cardholder challenges the validity of a card transaction because the transaction should have resulted in a credit rather than a card sale. |
RG | Cardholder challenges the validity of a card sale due to non-receipt of goods and/or services. |
UA11 | Swiped card transaction – No cardholder signature obtained. |
UA12 | Swiped card transaction – Invalid cardholder signature obtained. |
UA18 | Swiped card transaction – Illegible copy of transaction receipt. |
UA21 | Keyed card transaction – No cardholder signature obtained. |
UA22 | Keyed card transaction – Invalid cardholder signature obtained. |
UA23 | Keyed card transaction – Invalid card imprint. |
UA28 | Keyed card transaction – Illegible copy of transaction documentation. |
RN1, RN2 | Cardholder alleges that an expected credit from the merchant was not received or was insufficient in amount. |
DP | Cardholder alleges that a single card sale was posted more than once to the cardholder’s account. |
RM | Cardholder challenges the validity of a card sale because the goods or services delivered by the merchant were not of the quality or condition agreed upon. |
NA | Issuer disputes a card sale because the merchant did not obtain a positive authorization response for the amount of the card transaction that is subject to dispute, as represented in sales data. |
UA01 | Cardholder or issuer challenges the validity of a card sale because no authorization request was attempted by the merchant. |
CR | Cardholder challenges the validity of a card transaction because the cardholder cancelled the underlying reservation with the merchant. |
NC | Cardholder challenges the validity of a card sale and no other reason code applies. |
DA | Issuer challenges the validity of a card sale because the merchant received a declined authorization response and the issuer cannot collect the card sale amount from the cardholder. |
EX | Cardholder or issuer challenges the validity of a card sale because the card had expired on or before the card transaction date and the merchant did not obtain a positive authorization response. |
IC | Cardholder or issuer disputes a card sale because the transaction documentation received in response to a ticket retrieval request is either illegible or is missing a valid, legible card imprint (if required). |
IN | Issuer disputes a card transaction because the card number provided by the merchant is not valid. |
IS | Cardholder or issuer disputes a card sale because transaction documentation received in response to a ticket retrieval request does not include a valid, legible cardholder signature where required for the card transaction. |
LP | Cardholder or issuer disputes a card sale because the acquirer or merchant submitted sales data for the card sale more than 30 calendar days after the authorization request and the card sale was not for a delayed delivery card sale. |
SV | Cardholder or issuer disputes a prepaid gift card transaction because the merchant did not obtain a positive authorization response for the amount of the card sale subject to dispute. |
TF | Discover initiates a chargeback of a card transaction because the acquirer or merchant did not comply with the applicable operating regulations. |
UA10 | Request transaction receipt for swiped card transaction. |
UA20 | Request transaction documentation for keyed card transaction. |
UA30 | Request transaction documentation for card not present card transaction. |
UA31 | Card not present card transaction – Invalid proof of delivery obtained by acquirer or merchant. |
UA38 | Card Not present card transaction – Illegible copy of transaction documentation. |
UA02 | Cardholder or issuer challenges the validity of a card sale because the issuer provided a declined authorization response. |
UA03 | Cardholder or issuer challenges the validity of a card sale because the amount billed to the cardholder exceeds amount authorized by the issuer. |
UA32 | Cardholder or issuer challenges the validity of a card not present card transaction because the acquirer or merchant did not obtain address verification or did not obtain and submit the CID with the authorization request. |
UA99 | Cardholder or issuer challenges the validity of a card sale and the acquirer or merchant did not comply with the applicable operating regulations in connection with the card sale. |
R2 | Credit not processed. |
A | Cardholder dispute, cardholder request draft. |