Search Overlay

Credit Debit Card Transactions

This page describes how to process credit and debit card transactions via the Paysafe Web Service. The following operations are supported:

Operation Description Request Type

Authorization

Allows you to authorize an amount on a customer’s credit/ debit card. The authorized amount must be settled in a subsequent settlement transaction.

See Building Purchase/Authorization/Verification requests.

Purchase

Allows you to both authorize and settle an amount on a customer’s credit/debit card in a single transaction.

Verification

Allows you to run an AVS and/or CVD check on a customer’s credit card without processing a charge against that card.

Authorization Reversal

Allows you to reverse all or part of an existing authorization, provided no settlements (either full or partial) have been processed against that authorization. This transaction type does not function with purchase transactions, but only with authorizations.

See Building Authorization Reversal requests.

Credit

Allows you to credit back to a customer’s credit/debit card an amount that has previously been settled. You can credit all or part of an existing settlement.

See Building Settlement/Credit requests.

Settlement

Allows you to settle an amount that was previously authorized on a customer’s credit/debit card. You can settle all or part of an existing authorization.

Stored Data Authorization

Allows you to authorize an amount on a customer’s credit/debit card using customer data that is stored in our database. You provide only a minimum of information, saving you time and effort.

See Building Stored Data Requests.

Stored Data Purchase

Allows you to both authorize and settle an amount on a customer’s credit/debit card using customer data that is stored in our database. You provide only a minimum of information, saving you time and effort.

Cancel

Allows you to cancel a Credit, Settlement, Payment, or Independent Credit transaction. You can cancel one of these transactions as long as it is in a Pending state, which typically is before midnight of the day that it is requested. In some cases, you may find older Credit transactions in a Pending state.

See Building Cancel requests.

Payment

Allows you to credit an amount to a customer’s credit card. The Payment transaction is not associated with a previously existing authorization, so the amount of the transaction is not restricted in this way.

See Building Payment/Independent Credit requests.

Independent Credit

Allows you to credit an amount to a customer’s credit card. The Independent Credit transaction is not associated with a previously existing authorization, so the amount of the transaction is not restricted in this way.

Information Lookup

Allows you to run a report through the API over a date range you specify to return data on credit card transactions processed through your merchant account.

See Building Transaction Lookup requests.

Enrollment Lookup

Allows you to determine whether a customer’s credit card is enrolled in the 3D Secure program.

NOTE: This operation is supported only for 3D Secure 1.0.2.

See Building Enrollment Lookup requests.

Authentication

Allows you to send an Authentication request, in order to validate a cardholder’s password for credit cards enrolled in the 3D Secure program.

NOTE: This operation is supported only for 3D Secure 1.0.2.

See Building Authentication requests.

Availability of credit card operation types is allotted on a merchant-by-merchant basis, since not all merchant banks support all operations. If you have any questions, contact your account manager.

  • The Authorization, Purchase, and Verification operations accept a ccAuthRequestV1 document object.
  • The Authorization Reversal operation accepts a ccAuthReversalRequestV1 document object.
  • The Settlement and Credit operations accept a ccPostAuthRequestV1 document object.
  • The Stored Data operations accept a ccStoredDataRequestV1 document object.
  • The Cancel Settle, Cancel Credit, and Cancel Payment operations accept a ccCancelRequestV1 document object.
  • The Payment and Independent Credit operations accept a ccPaymentRequestV1 document object.
  • The Information Lookup operation accepts a ccTxnLookupRequestV1 document object.
  • The Enrollment Lookup operation accepts a ccEnrollmentLookupRequestV1 document object.
  • The Authentication operation accepts a ccAuthenticateRequestV1 document object.
  • All operations return a ccTxnResponseV1 response.

.NET example

To build the .NET example:

  1.  Create a new project.

  2. Add a Web Reference.

  3. Enter the WSDL URL and click the Add Reference button.

  4. The Web client is now built.

  5. Build the request and process response.

Building Purchase/Authorization/Verification requests

Purchase, Authorization, and Verification requests require the ccAuthRequestV1 document object. This section describes the structure of a ccAuthRequestV1 and how to construct one.

Purchase example – C#

All optional elements that take non-nullable data types (e.g., int or enum) must have their specified attribute set to true when setting values for those elements. See the cardType element in the example below.

The following is a Purchase example in C#.

To make this an Authorize or Verification request, modify the value “ccPurchase” – in the line “CCTxnResponseV1 ccTxnResponse = ccService.ccPurchase(ccAuthRequest);” below – to “ccAuthorize” or “ccVerification”, respectively.

//Prepare the call to the Credit Card Web Service
CCAuthRequestV1 ccAuthRequest = new CCAuthRequestV1();
MerchantAccountV1 merchantAccount = new MerchantAccountV1();
merchantAccount.accountNum = "12345678";
merchantAccount.storeID = "myStoreID";
merchantAccount.storePwd = "myStorePWD";
ccAuthRequest.merchantAccount = merchantAccount;
ccAuthRequest.merchantRefNum = "Ref-12345";
ccAuthRequest.amount = "10.00";
CardV1 card = new CardV1();
card.cardNum = "4653111111111111";
CardExpiryV1 cardExpiry = new CardExpiryV1();
cardExpiry.month = 11;
cardExpiry.year = 2006;
card.cardExpiry = cardExpiry;
card.cardType = CardTypeV1.VI;
card.cardTypeSpecified = true;
card.cvdIndicator = 1;
card.cvdIndicatorSpecified = true;
card.cvd = "111";
ccAuthRequest.card = card;
BillingDetailsV1 billingDetails = new BillingDetailsV1();
billingDetails.cardPayMethod = CardPayMethodV1.WEB; //WEB = Card Number Provided
billingDetails.cardPayMethodSpecified = true;
billingDetails.firstName = "Jane";
billingDetails.lastName = "Jones";
billingDetails.street = "123 Main Street";
billingDetails.city = "LA";
billingDetails.Item = (object) StateV1.CA; // California
billingDetails.country = CountryV1.US; // United States
billingDetails.countrySpecified = true;
billingDetails.zip = "90210";
billingDetails.phone = "555-555-5555";
billingDetails.email = "janejones@emailserver.com";
ccAuthRequest.billingDetails = billingDetails;
ccAuthRequest.customerIP = "127.0.0.1";
ccAuthRequest.productType = ProductTypeV1.M;
//M = Both Digital and Physical(e.g., software downloaded followed by media
shipment)
ccAuthRequest.productTypeSpecified = true;
// Perform the Web Services call for the purchase
CreditCardServiceV1 ccService = new CreditCardServiceV1();
CCTxnResponseV1 ccTxnResponse = ccService.ccPurchase(ccAuthRequest);
// Print out the result
String responseTxt = ccTxnResponse.code + " - " + ccTxnResponse.decision + " - "
+ ccTxnResponse.description + Environment.NewLine;
if (ccTxnResponse.detail != null)
{
for (int i = 0; i < ccTxnResponse.detail.Length; i++)
{
responseTxt += " - " + ccTxnResponse.detail[i].tag + " - " +
ccTxnResponse.detail[i].value + Environment.NewLine;
}
}
responseTxt = responseTxt.Replace("\n", Environment.NewLine);
System.Console.WriteLine(responseTxt);
if (DecisionV1.ACCEPTED.Equals(ccTxnResponse.decision))
{
System.Console.WriteLine("Transaction Successful.");
}
else
{
System.Console.WriteLine("Transaction Failed with decision: " +
ccTxnResponse.decision);
}

ccAuthRequestV1 schema

A ccAuthRequestV1 has the following structure:

ccAuthRequestV1 elements

The ccAuthRequestV1 document object may contain 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.

merchantRefNum

 

Yes

String

Max = 255

This is a unique ID number associated with each request. The value is created by the merchant and submitted as part of the request.

customerTokenId

     

For internal use only.

amount

 

Yes

String

Max=
999999999.99

This is amount of the transaction request.

NOTE: Though mandatory, this value will be ignored for the ccVerification transaction.

card

cardNum

Yes

String

Min = 8

Max = 20

This is the card number used for the transaction.

 

cardExpiry

Yes

 

The cardExpiry child element has two further child elements – month and year.

   

Child Element of cardExpiry

 
 

month

Yes

Int

Max = 2

This is the month the credit card expires.

 

year

Yes

Int

Length = 4

This is the year the credit card expires.

   
 

cardType

Optional

Enumeration

This is the type of card used for the transaction. Possible values are:

•    AM – American Express

•    DC – Diners Club

•    DI – Discover

•    JC – JCB

•    MC – Mastercard

•    MD – Maestro

•    SF – Swiff

•    SO – Solo

•    VD – Visa Debit

•    VE – Visa Electron

•    VI – Visa

 

issueNum

Optional

Integer

Max = 2

The 1- or 2-digit number located on the front of the card, following the card number.

NOTE: The issueNum element can be used only when the cardType is MD (Maestro), or SO (Solo).

 

cvdIndicator

Optional

Integer

Length = 1

This is the status of CVD value information.
Possible values are:

•    0 – The customer did not provide a value.

•    1 – The customer provided a value.

•    2 – The value is illegible.

•    3 – The value is not on the card.

NOTE: The cvdIndicator element is mandatory for the ccVerification transaction. Also note that even though this element is optional, it is required for several risk-related checks and we strongly advise you to include it to avoid failed transactions.

 

cvd

Conditional

String

Length = 3 or 4

The 3- or 4-digit security code that appears on the card following the card number. This code does not appear on imprints.

NOTE: The cvd element is mandatory when the cvdIndicator element value = 1.

authentication

NOTE: Use this element with ccAuthorize or ccPurchase requests only.

indicator

Optional

Integer

Value = 1

This is the Electronic Commerce Indicator code, a 2-digit value that gets returned by the card issuer indicating whether the cardholder was successfully authenticated. Possible values are:

Visa / Amex / JCB

•    05 – Identifies a successfully authenticated transaction.

•    06 – Identifies an attempted authenticated transaction.

•    07 – Identifies a non-authenticated transaction.

Mastercard

•    01 – Identifies a non-authenticated transaction.

•    02 – Identifies a successfully authenticated transaction.

This value is returned in the eci child element of the tdsAuthenticateResponse element in the ccTxnResponseV1 to your ccAuthenticateRequestV1 request.

 

cavv

Optional

String

Max = 80

This is the Cardholder Authentication Verification Value. This value is returned in the cavv child element of the tdsAuthenticateResponse element in the ccTxnResponseV1 to your ccAuthenticateRequestV1 request.

 

xid

Optional

String

Max = 80

This is the transaction identifier returned by the card issuer. This value is returned in the xid child element of the tdsAuthenticateResponse element in the ccTxnResponseV1 to your ccAuthenticateRequestV1 request.

NOTE: This exists only for 3D Secure 1.0.2.

 

enrollmentStatus

Optional

Enumeration

This indicates whether 3D Secure authentication is available for the cardholder. Possible values are:

•    Y – Authentication available

•    N – Cardholder not enrolled

•    U – Authentication unavailable

•    E – Error

NOTE: This exists only for 3D Secure 1.0.2.

 

authenticationStatus

Optional

Enumeration

This indicates the authentication outcome. Possible values are:

•    Y – Cardholder successfully authenticated with their Card Issuer.

•    A – Cardholder authentication was attempted.

•    N – Cardholder failed to successfully authenticate with their Card Issuer.

•    U – Authentication with the Card Issuer was unavailable.

•    E – Error

•    R – Rejected transaction

NOTE: The value R exists only for 3D Secure 2.|

 

directoryServerTransactionId

Optional

String

Max = 36

This is the unique directory server transaction ID required for Mastercard.

NOTE: This exists only for 3D Secure 2 and is required only for the Mastercard brand.

 

threeDSecureVersion

Optional

String

Min = 5

Max = 8

This is the 3D Secure protocol version.

NOTE: If no version is specified in the request, value defaults to 1.0.2. and is echoed in the response.

authCode

 

Optional

String

Max = 50

This is the Authorization code assigned by the issuing bank and returned by Paysafe for a previous transaction.

NOTE: Include this element only when instructed to do so by Paysafe.

billingDetails

cardPayMethod

Optional

Enumeration

This is how the card was presented for the transaction. Possible values are:

•    WEB – Card number provided online

•    TEL – Card number provided by phone

•    P – Card present

•    PD – Card present deferred

•    D – Deferred

NOTE: Include this element only when instructed to do so by Paysafe.

 

firstName

Optional

String

Max = 40

This is the customer’s first name.

 

lastName

Optional

String

Max = 40

This is the customer’s last name.

 

street

Optional

String

Max = 50

This is the first line of the customer’s street address.

NOTE: the street element is mandatory if you are processing a ccVerification transaction.

 

street2

Optional

String

Max = 50

This is the second line of the customer’s street address.

 

city

Optional

String

Max = 40

This is the city in which the customer resides.

 

state/region

Optional

If state,
Enumeration

If region, then string
Max = 40

This is the state/province/region in which the customer resides.

Provide state if within U.S./Canada. Provide region if outside of U.S./Canada.

 

country

Optional

Enumeration

This is the country in which the customer resides.

 

zip

Mandatory

String

Max = 10

This is the customer’s ZIP code if in the U.S.; otherwise, this is the customer’s postal code.

 

phone

Optional

String

Max = 40

This is the customer’s telephone number.

 

email

Optional

String

Max = 100

This is the customer’s email address.

shippingDetails

carrier

Optional

Enumeration

This is the shipment carrier.
Possible values are:

•    APC – APC Overnight

•    APS – AnPost

•    CAD – Canada Postal Service

•    DHL

•    FEX – Fedex

•    RML – Royal Mail

•    UPS – United Parcel Service

•    USPS – United States Postal Service

•    OTHER

 

shipMethod

Optional

Enumeration

The method of shipment.
Possible values are:

•    N – Next Day/Overnight

•    T – Two-Day Service

•    C – Lowest Cost

•    O – Other

 

firstName

Optional

String

Max = 40

This is the recipient’s first name.

 

lastName

Optional

String

Max = 40

This is the recipient’s last name.

 

street

Optional

String

Max = 50

This is the first line of the recipient’s street address.

 

street2

Optional

String

Max = 50

This is the second line of the recipient’s street address.

 

city

Optional

String

Max = 40

This is the city in which the recipient resides.

 

state/region

Optional

If state,
Enumeration

If region, then string
Max = 40

This is the state/province/region in which the recipient resides.

Provide state if within U.S./Canada. Provide region if outside of U.S./Canada.

 

country

Optional

Enumeration

This is the country in which the recipient resides.

 

zip

Optional

String

Max = 10

This is the recipient’s ZIP code if in the U.S.; otherwise, this is the recipient’s postal code.

 

phone

Optional

String

Max = 40

This is the recipient’s phone number.

 

email

Optional

String

Max = 100

This is the recipient’s email address.

recurring

 

Optional

 

NOTE: You cannot include both the recurring element and the storedCredential element in the same authorization request. Paysafe recommends using storedCredential.

 

recurringIndicator

Conditional

Enumeration

Use this parameter to indicate whether a transaction is an initial or a repeat transaction for a specific customer for whom you will be processing recurring transactions.

Depending on which processing gateway is used, if the value for a repeat transaction is set to R, the gateway may be more lenient regarding certain requirements such as CVD data and address information, authorizing the request without this data.

Possible values are:

•    I – Initial Recurring

•    R – Subsequent Recurring

 

originalConfirmation
Number

Conditional

String

Max = 15

If this is a recurring transaction, this is the confirmation number returned by Paysafe for the initial transaction in the series. If you include this value, Paysafe will be able to more precisely identify an Authorization to Settle or a Settlement to Credit, should either of those transactions be required in the future.

 

previousConfirmation
Number

Conditional

String

Max = 15

If this is a recurring transaction, this is the confirmation number returned by Paysafe for the most recent transaction in the series. If you include this value, Paysafe will be able to more precisely identify an Authorization to Settle or a Settlement to Credit, should either of those transactions be required in the future.

storedCredential

 

Optional

 

The storedCredential element is used to identify authorization requests that use credit card numbers that are stored by merchants, in order to improve authorization rates and reduce fraud.

NOTE: You cannot include both the recurring element and the storedCredential element in the same authorization request. Paysafe recommends using storedCredential.

If you are not sending this element and are sending the recurringIndicator element with the value R, type will be defaulted to RECURRING and occurrence will be defaulted to SUBSEQUENT. If recurringIndicator is sent with the value I, type will be defaulted to RECURRING and occurrence will be defaulted to INITIAL.

 

type

Optional

Enumeration

This specifies the type of request being made. Possible values are:

•    ADHOC – Ad hoc consumer-initiated request

•    TOPUP – Unscheduled merchant-initiated request when a consumer balance is below a set limit

•    RECURRING – Scheduled, merchant-initiated recurring request

 

occurrence

Optional

Enumeration

This specifies whether this stored credential request is initial or recurring. Possible values are:

•    INITIAL – Used when this is the first time the consumer uses this credit card

•    RECURRING – Used when the consumer uses this credit card for subsequent requests

NOTE: The card cvd value is required when this is set to INITIAL.

customerIP

 

Optional

String

Max = 50

This is the customer’s IP address.

productType

 

Optional

Enumeration

This is the type of product sold.
Possible values are:

•    P – Physical Goods

•    D – Digital Goods

•    C – Digital Content)

•    G – Gift Certificate/Digital Cash

•    S – Shareware

•    M – Both Digital and Physical

•    R – Account Replenish

targetVirtualAccount

 

No

 

This element is not applicable for credit card transactions.

cardRiskService

     

For internal use only.

dupeCheck

 

Optional

Boolean

This validates that this request is not a duplicate. A request is considered a duplicate if the cardNum, amount, and merchantRefNum are the same.

sdk

version

Conditional

String

Max = 20

This is the version of the SDK used, if any.

Required if sdk element is provided.

 

platform

Conditional

String

Max = 10

This is the integration language of the SDK used (e.g., Java, .NET).

Required if sdk element is provided.

 

provider

Conditional

String

Max = 20

This is the author of the SDK used. Set to value “op” when the SDK is provided by Paysafe.

Required if sdk element is provided.

addendumData

tag

Optional

String

Max = 30

This is additional data that can be included with the transaction request.

 

value

Optional

String

Max = 1024

This is additional data that can be included with the transaction request.

merchantDescriptor

NOTE: Not all processing gateways support this parameter. Contact your account manager for more information.

dynamicDescriptor

Optional

String

Max = 25

This is a merchant descriptor that will be displayed on a customer’s credit card statement.

phone

Optional

String

Max = 13

This is the merchant’s phone number, which will be appended to the merchant descriptor on a customer’s credit card statement.

accordD

NOTE: Include this element only when instructed to do so by Paysafe.

financingType

Conditional

Enumeration

This is the type of financing offered. Possible values are:

•    D – Deferred payment financing

•    E – Equal payment financing

 

plan

Conditional

String

Max = 3

This is the plan number for this financing transaction.

 

gracePeriod

Optional

Integer

Max = 2

This is the grace period, in months, associated with deferred payment transactions.

 

term

Optional

Integer

Max = 2

This is the number of payments, in months, for equal payment transactions.

description

 

Optional

String

Max = 255

This is a description of the transaction, provided by the merchant.

cardEntryMode

 

Optional

Enumeration

This is the method used to capture the card information. Possible values are:

•    SWIPED – A card reader was used.

•    MANUAL – The card number was entered manually.

geoLocation

 

Optional

 

This is the geographical location of the mobile transaction.

 

latitude

Conditional

String

Max = 24

This is the latitude of the mobile transaction (e.g., 44.903889).

 

longitude

Conditional

String

Max = 24

This is the longitude of the mobile transaction (e.g., -77.255123).

walletTransactionId

     

Internal use only.

profile

dateOfBirth

Conditional

 

This field allows you to record the cardholder’s date of birth, if you have it. It may be used to assist in authenticating the customer’s identity with a third-party validation service.

   

Child Element of dateOfBirth

 
 

day

Mandatory

Integer

Min = 1
Max = 31

This is the customer‘s day of birth.

 

month

Mandatory

Integer

Min = 1
Max = 12

This is the customer‘s month of birth.

 

year

Mandatory

Integer

Min = 1900
Max = 9999

This is the customer‘s year of birth.

         

visaAdditionalAuthData

NOTE: This element is supported for both Visa and Mastercard. The recipient is deemed to be the person or party who has the contractual relationship with the merchant/ financial institution. This may be different from the cardholder, e.g., in the case of a parent topping up a child’s savings account. Therefore, the fields should not be collected on the same page as cardholder information, but instead be passed in the background from the merchant’s records.

Include this element if your Merchant Category Code is 6012 and your registered trading address is in the United Kingdom. If you have any questions, contact your account manager. All fields are optional, however scheme fines may apply if data is consistently not supplied and chargebacks persist.

 

recipientDateOfBirth

Optional

   
   

Child Element of recipientDateOfBirth

 

day

Conditional

Integer

Min = 1
Max = 31

This is the recipient’s day of birth.

 

month

Conditional

Integer

Min = 1
Max = 12

This is the recipient’s month of birth.

 

year

Conditional

Integer

Min = 1900
Max = 9999

This is the recipient’s year of birth.

         
 

recipientZip

Optional

String

Max = 10

This is the recipient‘s postcode.

NOTE: The last 3 characters are not sent to the banking network.

 

recipientLastName

Optional

String

Max = 40

This is the recipient‘s last name or surname.

NOTE: Only the first 6 characters are sent to the banking network.

 

recipientAccountNumber

Optional

String

Max = 25

This is the recipient‘s account number, e.g., a loan agreement number or customer ID. In the case where the recipient account is a prepaid card, the card number may be sent in full.

NOTE: Only the first 6 and last 4 characters are sent to the banking network and will be masked accordingly within the back office and any other reports, to comply with PCI regulations.

addendumData tag/value pairs

Not all processing gateways support all addendumData tag/value pairs. Contact your account manager for more information.

The following table contains the tag/value pairs supported for the addendumData element.

Tag Value

CUST_ACCT_OPEN_DATE

This is the date the merchant account opened.

Format = yyyymmdd

CUSTOMER_ID

This is an ID used by the merchant. Maximum of 64 numeric characters.

CUSTOMER_SESSION_ID

This string is used to initiate a lookup call with a device profiler. It must be the same string you use as the session identifier in the profiling JavaScript on the HTML page you present to your customer for device profiling.

Accepted characters are:

[a-z][A-Z][_][-]

KEYWORD

This value can be any text the merchant wants to use, e.g., used for reporting purposes in the Paysafe merchant back office. For example, you can use this as a tag to identify the transaction or the product purchased at your site.

•    Maximum of 255 alphanumeric characters.

•    Can be specified more than once, with a different value each time.

•    Valid for CCAuthRequestV1 and CCStoredDataRequestV1 objects.

MERCHANT_COUNTRY_CODE

This is a two-character country code. Value is not validated.

MERCHANT_SIC_CODE

This is the ISO Standard Industry Code (SIC) for the merchant. This is a 4-character numerical string.

MERCHANT_ZIP_CODE

Maximum of 10 alphanumeric characters.

PRODUCT_TYPE

This is the type of product purchased. Possible values are:

•    P – Physical goods

•    D – Digital goods

•    C – Digital content

•    G – Gift certificate/digital cash

•    S – Shareware

•    M – Digital and physical

•    R – Account replenish (e.g., subscription renewal)

PRODUCT_CODE

This is the product code of the item purchased. Maximum of 18 alphanumeric characters.

SERVICE_REQUEST_CURRENCY

NOTE: This tag/value pair can be included with the ccAuthRequestV1 document object only (i.e., for Authorization, Purchase, and Verification card transaction requests).

Include this tag/value pair in order to have the merchant account’s currency returned in the transaction response.

Possible values:

•    on

•    off

USER_DATA_04

This is a user-defined field. Maximum of 255 alphanumeric characters.

USER_DATA_05

This is a user-defined field. Maximum of 255 alphanumeric characters.

USER_DATA_06

This is a user-defined field. Maximum of 255 alphanumeric characters.

Building Authorization Reversal requests

Authorization Reversal requests allow you to reverse all or part of an existing authorization, provided no settlements (either full or partial) have been processed against that authorization.

You can use Authorization Reversal transactions to reverse Authorizations only. You cannot reverse Purchase transactions.

Authorization Reversal requests require the ccAuthReversalRequestV1 document object. This section describes the structure of a ccAuthReversalRequestV1 and how to construct one.

Authorization Reversal example – C#

The following is an Authorization Reversal example in C#.

//Prepare the call to the Credit Card Web Service

CCAuthReversalRequestV1 authReversalRequest = new CCAuthReversalRequestV1();

MerchantAccountV1 merchantAccount = new MerchantAccountV1();

merchantAccount.accountNum = "12345678";

merchantAccount.storeID = "myStoreID";

merchantAccount.storePwd = "myStorePWD";

authReversalRequest.merchantAccount = merchantAccount;



authReversalRequest.confirmationNumber = "115147689";

authReversalRequest.merchantRefNum = "AR2";

authReversalRequest.reversalAmount = "18.00";



// Perform the Web Services call for the Auth Reversal

CreditCardServiceV1 ccService = new CreditCardServiceV1();

CCTxnResponseV1 ccTxnResponse = ccService.ccAuthorizeReversal(authReversalRequest);



// Print out the result

String responseTxt = ccTxnResponse.confirmationNumber + " - " + ccTxnResponse.code + " - " + ccTxnResponse.decision + " - " + ccTxnResponse.description;

responseTxt += Environment.NewLine;

responseTxt += "Details:" + Environment.NewLine;

if (ccTxnResponse.detail != null)

{

for (int i = 0; i < ccTxnResponse.detail.Length; i++)

{

responseTxt += " - " + ccTxnResponse.detail[i].tag + " - " + ccTxnResponse.detail[i].value + Environment.NewLine;

}

}

responseTxt = responseTxt.Replace("\n", Environment.NewLine);

System.Console.WriteLine(responseTxt);

consoleTextBox.Text = responseTxt;

if (DecisionV1.ACCEPTED.Equals(ccTxnResponse.decision))

{

System.Console.WriteLine("Transaction Successful.");

}

else

{

System.Console.WriteLine("Transaction Failed with decision: " + ccTxnResponse.decision);

}

ccAuthReversalRequestV1 schema

A ccAuthReversalRequestV1 has the following structure:

ccAuthReversalRequestV1 elements

The ccAuthReversalRequestV1 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.

confirmationNumber

 

Yes

String

Max = 15

This is the confirmation number returned by Paysafe for the Authorization you want to reverse.

merchantRefNum

 

Yes

String

Max = 255

This is a unique ID number associated with each request. The value is created by the merchant and submitted as part of the request.

reversalAmount

 

Optional

String

Max=
999999999.99

This is amount of the original authorization that you want to reverse. If you omit this element, the full amount of the original authorization will be reversed.

NOTE: Not all processing gateways support partial authorization reversals. Contact your account manager for more information.

addendumData

tag

Optional

String

Max = 30

This is additional data that can be included with the transaction request. 

value

Optional

String

Max = 1024

This is additional data that can be included with the transaction request. 

geoLocation

 

Optional

 

This is the geographical location of the mobile transaction.

latitude

Conditional

String

Max = 24

This is the latitude of the mobile transaction (e.g., 44.903889).

longitude

Conditional

String

Max = 24

This is the longitude of the mobile transaction (e.g., -77.255123).

Building Settlement/Credit requests

Settlement and Credit requests require the ccPostAuthRequestV1 document object. This section describes the structure of a ccPostAuthRequestV1 and how to construct one.

Settlement example – C#

The following is a Settlement example in C#.

To make this a Credit request, just modify the value “ccSettlement” – in the line “CCTxnResponseV1 ccTxnResponse = ccService.ccSettlement(ccPostAuthRequest);” below – to “ccCredit”.

//Prepare the call to the Credit Card Web Service

CCPostAuthRequestV1 ccPostAuthRequest = new CCPostAuthRequestV1();

ccPostAuthRequest.confirmationNumber = "123456";

MerchantAccountV1 merchantAccount = new MerchantAccountV1();

merchantAccount.accountNum = "12345678";

merchantAccount.storeID= "myStoreID";

merchantAccount.storePwd = "myStorePWD";

ccPostAuthRequest.merchantAccount = merchantAccount;

ccPostAuthRequest.merchantRefNum = "Ref-12345";

ccPostAuthRequest.amount = "10.00";



// Perform the Web Service call for the Settlement

CreditCardServiceV1 ccService = new CreditCardServiceV1();

CCTxnResponseV1 ccTxnResponse = ccService.ccSettlement(ccPostAuthRequest);



// Print out the result

String responseTxt = ccTxnResponse.code + " - " + ccTxnResponse.decision +
" - " + ccTxnResponse.description ;

responseTxt += "Details:" + Environment.NewLine;



if (ccTxnResponse.detail != null)

{

for (int i = 0; i < ccTxnResponse.detail.Length; i++)

{

responseTxt += " - " + ccTxnResponse.detail[i].tag + " - " +

ccTxnResponse.detail[i].value + Environment.NewLine;

}

}

responseTxt = responseTxt.Replace("\n", Environment.NewLine);

System.Console.WriteLine(responseTxt);



if (DecisionV1.ACCEPTED.Equals(ccTxnResponse.decision))

{

System.Console.WriteLine("Transaction Successful.");

}

else

{

System.Console.WriteLine("Transaction Failed with decision: " +
ccTxnResponse.decision);

}

ccPostAuthRequestV1 schema

A ccPostAuthRequestV1 document object has the following structure:

ccPostAuthRequestV1 elements

The ccPostAuthRequestV1 document object may contain 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 = 20

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.

confirmationNumber

 

Yes

String

Max = 15

This is the confirmation number returned by Paysafe for the original request.

merchantRefNum

 

Yes

String

Max = 40

This is a unique ID number associated with each request. The value is created by the merchant and submitted as part of the request.

amount

 

Optional

String

Max=
999999999.99

This is amount of the transaction request. You can Settle all or part of an Authorization. You can Credit all or part of a Settlement.

origMerchantTxn

 

Conditional

String

Max = 255

This is the merchant transaction ID from a Settlement that was processed via the Direct Payment API and that is now being credited via the Web Services API.

dupeCheck

 

Optional

Boolean

This validates that this request is not a duplicate. A request is considered a duplicate if the cardNum, amount, and merchantRefNum are the same.

sdk

version

Conditional

String

Max = 20

This is the version of the SDK used, if any.

Required if sdk element is provided.

 

platform

Conditional

String

Max = 10

This is the integration language of the SDK used (e.g., Java, .NET).

Required if sdk element is provided.

 

provider

Conditional

String

Max = 20

This is the author of the SDK used. Set to value “op” when the SDK is provided by Paysafe.

Required if sdk element is provided.

addendumData

tag

Optional

String

Max = 30

This is additional data that can be included with the transaction request.

 

value

Optional

String

Max = 1024

This is additional data that can be included with the transaction request.

geoLocation

 

Optional

 

This is the geographical location of the mobile transaction.

 

latitude

Conditional

String

Max = 24

This is the latitude of the mobile transaction (e.g., 44.903889).

 

longitude

Conditional

String

Max = 24

This is the longitude of the mobile transaction (e.g., -77.255123).

accordD

NOTE: Include this element only when instructed to do so by Paysafe. It cannot be used for credit requests.

 

Optional

You can include the accordD element only if you have already provided it in the authorization request you are now settling and you want to change one or more of the terms specified in the child elements.

 

financingType

Conditional

Enumeration

This is the type of financing offered. Possible values are:

•    D – Deferred payment financing

•    E – Equal payment financing

 

plan

Conditional

String

Max = 3

This is the plan number for this financing transaction.

 

gracePeriod

Optional

Integer

Max = 2

This is the grace period, in months, associated with deferred payment transactions.

 

term

Optional

Integer

Max = 2

This is the number of payments, in months, for equal payment transactions.

Building Stored Data Requests

Stored Data Authorization/Purchase requests require the ccStoredDataRequestV1 document object. This section describes the structure of a ccStoredDataRequestV1 and how to construct one. 

Stored Data requests allow you to perform credit card Authorizations and Purchases by providing a minimum of customer information. The Stored Data request requires a Confirmation Number from a previous Authorization or Purchase.

The Confirmation Number can be a maximum of 24 months old.

This Confirmation Number allows Paysafe to access from its database most of the data required for the transaction.

If you are processing a Stored Data request using a Confirmation Number from a transaction that included the visaAdditionalAuthData element , then this information will be included in the new request. However, if you add the visaAdditionalAuthData element separately to the new Stored Data request, it will overwrite any similar data associated with the Confirmation Number, for that request only.

Stored Data Authorization example – C#

The following is a Stored Data Authorization example in C#.

To make this a Stored Data Purchase request, just modify the value “ccStoredDataAuthorize” – in the line “CCTxnResponseV1 ccTxnResponse = ccService.ccStoredDataAuthorize(ccStoredDataRequest);” below – to “ccStoredDataPurchase”.

//Prepare the call to the Credit Card Web Service

MerchantAccountV1 merchantAccount = new MerchantAccountV1();

merchantAccount.accountNum = "12345678";

merchantAccount.storeID = "myStoreID";

merchantAccount.storePwd = "myStorePWD";



CCStoredDataRequestV1 ccStoredDataRequest = new CCStoredDataRequestV1();

ccStoredDataRequest.confirmationNumber = "111374429";

ccStoredDataRequest.amount = "97.97";

ccStoredDataRequest.merchantRefNum = "jim55";

ccStoredDataRequest.merchantAccount = merchantAccount;



// Perform the Web Service call for the Stored Data Transaction

CreditCardServiceV1 ccService = new CreditCardServiceV1();

CCTxnResponseV1 ccTxnResponse = ccService.ccStoredDataAuthorize(ccStoredDataRequest);

String responseTxt = "";



// Print out the result

if (ccTxnResponse.detail != null)

{

for (int i = 0; i < ccTxnResponse.detail.Length; i++)

{

responseTxt += " - " + ccTxnResponse.detail[i].tag + " - " +

ccTxnResponse.detail[i].value + Environment.NewLine;

}

}

responseTxt = responseTxt.Replace("\n", Environment.NewLine);

System.Console.WriteLine(responseTxt);

if (DecisionV1.ACCEPTED.Equals(ccTxnResponse.decision))

{

System.Console.WriteLine("Transaction Successful.");

}

else

{

System.Console.WriteLine("Transaction Failed with decision: " +

ccTxnResponse.decision);

}

ccStoredDataRequestV1 schema

A ccStoredDataRequestV1 document object has the following structure:

ccStoredDataRequestV1 elements

The ccStoredDataRequestV1 document object may contain the following elements:

Element Child Element Required Type Description

merchantAccount

accountNum

Required

String

Max = 10

This is the merchant account number.

 

storeID

Required

String

Max = 20

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

Required

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.

merchantRefNum

 

Required

String

Max = 255

This is a unique ID number associated with each request. The value is created by the merchant and submitted as part of the request.

confirmationNumber

 

Required

String

Max = 15

This is the confirmation number returned by Paysafe for the original request.

NOTE: The confirmationNumber can be a maximum of 24 months old.

amount

 

Required

String

Max=
999999999.99

This is amount of the transaction request.

cardExpiry

month

Optional

Int

Max = 2

This is the month the credit card expires.

Use this element to include updated card expiry date information, if required, to be included with the rest of the transaction data.

 

year

Optional

Int

Length = 4

This is the year the credit card expires.

Use this element to include updated card expiry date information, if required, to be included with the rest of the transaction data.

cvdIndicator

 

Optional

Integer

Length = 1

This is the status of CVD value information.
Possible values are:

•    0 – The customer did not provide a value.

•    1 – The customer provided a value.

•    2 – The value is illegible.

•    3 – The value is not on the card.

cvd

 

Conditional

String

Length = 3 or 4

The 3- or 4-digit security code that appears on the card following the card number. This code does not appear on imprints.

When you provide the CVD for a Stored Data request, the transaction benefits from full CVD protection. However, you must never store the CVD information, but instead have the consumer pass it in with the request.

NOTE: The cvd element is mandatory when the cvdIndicator element value = 1.

storedCredential

 

Optional

 

The storedCredential element is used to identify stored data requests that use credit card information stored by Paysafe. In this case, it would be card information associated with a confirmation number returned in the response to a previously successful authorization.

 

type

Optional

Enumeration

This specifies the type of request being made. Possible values are:

•    ADHOC – Ad hoc consumer-initiated request

•    TOPUP – Unscheduled merchant-initiated request when a consumer balance is below a set limit

•    RECURRING – Scheduled, merchant-initiated recurring request

NOTE: Default value is ADHOC.

 

occurrence

Optional

Enumeration

This specifies whether this stored credential request is initial or recurring. Possible values are:

•    INITIAL – Used when this is the first time the consumer uses this credit card

•    SUBSEQUENT – Used when the consumer uses this credit card for subsequent requests

NOTE: Default value is SUBSEQUENT. The card cvd value is required when this is set to INITIAL.

merchantDescriptor

NOTE: Not all processing gateways support this parameter. Contact your account manager for more information.

dynamicDescriptor

Optional

String

Max = 25

This is a merchant descriptor that will be displayed on a customer’s credit card statement.

phone

Optional

String

Max = 13

This is the merchant’s phone number, which will be appended to the merchant descriptor on a customer’s credit card statement.

addendumData

tag

Optional

String

Max = 30

This is additional data that can be included with the transaction request.

 

value

Optional

String

Max = 1024

This is additional data that can be included with the transaction request. 

Building Cancel requests

Use the ccCancelRequestV1 document object to cancel Settle, Credit, Payment, and Independent Credit transactions. This section describes the structure of a ccCancelRequestV1 and how to construct one.

Cancel Settle example – C#

The following is a Cancel Settle example in C#.

To make this a request to cancel a Credit, Payment, or an Independent Credit, just modify the value “ccCancelSettle” – in the line “CCTxnResponseV1 ccTxnResponse = ccService.ccCancelSettle(ccCancelRequest);” below – to “ccCancelCredit”, “ccCancelPayment”, or “ccCancelIndependentCredit”, respectively.

//Prepare the call to the Credit Card Web Service

CCCancelRequestV1 ccCancelRequest = new CCCancelRequestV1();

MerchantAccountV1 merchantAccount = new MerchantAccountV1();

merchantAccount.accountNum = "12345678";

merchantAccount.storeID= "myStoreID";

merchantAccount.storePwd = "myStorePWD";

ccCancelRequest.merchantAccount = merchantAccount;

ccCancelRequest.confirmationNumber = "123456";



// Perform the Web Services call for the cancel settle

CreditCardServiceV1 ccService = new CreditCardServiceV1();

CCTxnResponseV1 ccTxnResponse = ccService.ccCancelSettle(ccCancelRequest);



// Print out the result

String responseTxt = ccTxnResponse.code + " - " + ccTxnResponse.decision +
" - " + ccTxnResponse.description ;

responseTxt += "Details:" + Environment.NewLine;

if (ccTxnResponse.detail != null)

{

for (int i = 0; i < ccTxnResponse.detail.Length; i++)

{

responseTxt += " - " + ccTxnResponse.detail[i].tag + " - " +

ccTxnResponse.detail[i].value + Environment.NewLine;

}

}

responseTxt = responseTxt.Replace("\n", Environment.NewLine);

System.Console.WriteLine(responseTxt);



if (DecisionV1.ACCEPTED.Equals(ccTxnResponse.decision))

{

System.Console.WriteLine("Transaction Successful.");

}

else

{

System.Console.WriteLine("Transaction Failed with decision: " +
ccTxnResponse.decision);

}

ccCancelRequestV1 schema

A ccCancelRequestV1 document object has the following structure:

ccCancelRequestV1 elements

The ccCancelRequestV1 document object may contain 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 = 20

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.

confirmationNumber

 

Yes

String

Max = 15

This is the confirmation number returned by Paysafe for the original Settlement or Credit request.

sdk

version

Conditional

String

Max = 20

This is the version of the SDK used, if any.

Required if sdk element is provided.

 

platform

Conditional

String

Max = 10

This is the integration language of the SDK used (e.g., Java, .NET).

Required if sdk element is provided.

 

provider

Conditional

String

Max = 20

This is the author of the SDK used. Set to value “op” when the SDK is provided by Paysafe.

Required if sdk element is provided.

addendumData

tag

Optional

String

Max = 30

This is additional data that can be included with the transaction request. 

value

Optional

String

Max = 1024

This is additional data that can be included with the transaction request. 

geoLocation

 

Optional

 

This is the geographical location of the mobile transaction.

 

latitude

Conditional

String

Max = 24

This is the latitude of the mobile transaction (e.g., 44.903889).

 

longitude

Conditional

String

Max = 24

This is the longitude of the mobile transaction (e.g., -77.255123).

Building Payment/Independent Credit requests

Payments and Independent Credits require the ccPaymentRequestV1 document object. This section describes the structure of a ccPaymentRequestV1 and how to construct one.

Payment example – C#

All optional elements that take non-nullable data types (e.g., int or enum) must have their specified attribute set to true when setting values for those elements. See the cardType element in the example below.

The following is a Payment example in C#.

To make this an Independent Credit request, just modify the value “ccPayment” – in the line “CCTxnResponseV1 ccTxnResponse = ccService.ccPayment(ccPaymentRequest);” below – to “ccIndependentCredit”.

//Prepare the call to the Credit Card Web Service

CCPaymentRequestV1 ccPaymentRequest = new CCPaymentRequestV1();

MerchantAccountV1 merchantAccount = new MerchantAccountV1();

merchantAccount.accountNum = "12345678";

merchantAccount.storeID = "myStoreID";

merchantAccount.storePwd = "myStorePWD";

ccPaymentRequest.merchantAccount = merchantAccount;

ccPaymentRequest.merchantRefNum = "Ref-12345";

ccPaymentRequest.amount = "10.00";

CardV1 card = new CardV1();

card.cardNum = "4653111111111111";

CardExpiryV1 cardExpiry = new CardExpiryV1();

cardExpiry.month = 11;

cardExpiry.year = 2006;

card.cardExpiry = cardExpiry;

card.cardType = CardTypeV1.VI;

card.cardTypeSpecified = true;

card.cvdIndicator = 1;

card.cvdIndicatorSpecified = true;

card.cvd = "111";

ccPaymentRequest.card = card;

BillingDetailsV1 billingDetails = new BillingDetailsV1();

billingDetails.cardPayMethod = CardPayMethodV1.WEB; //WEB = Card Number Provided

billingDetails.cardPayMethodSpecified = true;

billingDetails.firstName = "Jane";

billingDetails.lastName = "Jones";

billingDetails.street = "123 Main Street";

billingDetails.city = "LA";

billingDetails.Item = (object)StateV1.CA; // California

billingDetails.country = CountryV1.US; // United States

billingDetails.countrySpecified = true;

billingDetails.zip = "90210";

billingDetails.phone = "555-555-5555";

billingDetails.email = "janejones@emailserver.com";

ccPaymentRequest.billingDetails = billingDetails;



// Perform the Web Services call for the payment request

CreditCardServiceV1 ccService = new CreditCardServiceV1();

CCTxnResponseV1 ccTxnResponse = ccService.ccPayment(ccPaymentRequest);



// Print out the result

String responseTxt ccTxnResponse.code + " - " + ccTxnResponse.decision + " - "

+ ccTxnResponse.description ;



responseTxt += "Details:" + Environment.NewLine;



if (ccTxnResponse.detail != null)

{

for (int i = 0; i < ccTxnResponse.detail.Length; i++)

{

responseTxt += " - " + ccTxnResponse.detail[i].tag + " - " +

ccTxnResponse.detail[i].value + Environment.NewLine;

}



}

responseTxt = responseTxt.Replace("\n", Environment.NewLine);

System.Console.WriteLine(responseTxt);

if (DecisionV1.ACCEPTED.Equals(ccTxnResponse.decision))

{

System.Console.WriteLine("Transaction Successful.");

}

else

{

System.Console.WriteLine("Transaction Failed with decision: " +

ccTxnResponse.decision);

}

}

catch (WebException we)

{

consoleTextBox.Text += we.Message.ToString();

consoleTextBox.Refresh();

}

ccPaymentRequestV1 schema

A ccPaymentRequestV1 has the following structure:

ccPaymentRequestV1 elements

The ccPaymentRequestV1 document object may contain 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.

merchantRefNum

 

Yes

String

Max = 40

This is a unique ID number associated with each request. The value is created by the merchant and submitted as part of the request.

customerTokenId

     

For internal use only.

amount

 

Yes

String

This is amount of the transaction request.

The amount maximum is configured on a merchant-by-merchant basis. It applies to each transaction and to the daily maximum per credit card. Contact your account manager for details.

card

cardNum

Yes

String

Min = 8

Max = 20

This is the card number used for the transaction.

 

cardExpiry

Yes

 

The cardExpiry child element has two further child elements – month and year.

   

Child Element of cardExpiry

 
 

month

Yes

Int

Max = 2

This is the month the credit card expires.

 

year

Yes

Int

Length = 4

This is the year the credit card expires.

   
 

cardType

Optional

Enumeration

This is the type of card used for the transaction. Possible values are:

•    AM – American Express

•    DC – Diners Club

•    DI – Discover

•    JC – JCB

•    MC – Mastercard

•    MD – Maestro

•    SO – Solo

•    VD – Visa Debit

•    VE – Visa Electron

•    VI – Visa

 

issueNum

Optional

Integer

Max = 2

The 1- or 2-digit number located on the front of the card, following the card number.

NOTE: The issueNum element can be used only when the cardType is MD (Maestro), or SO (Solo).

 

cvdIndicator

Optional

Integer

Length = 1

This is the status of CVD value information.
Possible values are:

•    0 – The customer did not provide a value.

•    1 – The customer provided a value.

•    2 – The value is illegible.

•    3 – The value is not on the card.

NOTE: Even though this element is optional, it is required for several risk-related checks and we strongly advise you to include it to avoid failed transactions.

 

cvd

Conditional

String

Length = 3 or 4

The 3- or 4-digit security code that appears on the card following the card number. This code does not appear on imprints.

NOTE: The cvd element is mandatory when the cvdIndicator element value = 1.

billingDetails

cardPayMethod

   

For internal use only.

 

firstName

Optional

String

Max = 40

This is the customer’s first name.

 

lastName

Optional

String

Max = 40

This is the customer’s last name.

 

street

Optional

String

Max = 50

This is the first line of the customer’s street address.

 

street2

Optional

String

Max = 50

This is the second line of the customer’s street address.

 

city

Optional

String

Max = 40

This is the city in which the customer resides.

 

state/region

Optional

If state,
Enumeration

If region, then string
Max = 40

This is the state/province/region in which the customer resides.

Provide state if within U.S./Canada. Provide region if outside of U.S./Canada.

 

country

Optional

Enumeration

This is the country in which the customer resides. 

 

zip

Mandatory

String

Max = 10

This is the customer’s ZIP code if in the U.S.; otherwise, this is the customer’s postal code.

 

phone

Optional

String

Max = 40

This is the customer’s telephone number.

 

email

Optional

String

Max = 100

This is the customer’s email address.

sdk

version

Conditional

String

Max = 20

This is the version of the SDK used, if any.

Required if sdk element is provided.

 

platform

Conditional

String

Max = 10

This is the integration language of the SDK used (e.g., Java, .NET).

Required if sdk element is provided.

 

provider

Conditional

String

Max = 20

This is the author of the SDK used. Set to value “op” when the SDK is provided by Paysafe.

Required if sdk element is provided.

authcode

 

Optional

String

Max = 50

This is the Authorization code assigned by the issuing bank and returned by Paysafe for a previous transaction.

NOTE: Include this element only when instructed to do so by Paysafe.

previousConfirmationNumber

 

Optional

String

Max = 20

This is the confirmation number of a previously processed authorization.

NOTE: Include this element only when instructed to do so by Paysafe.

addendumData

tag

Optional

String

Max = 30

This is additional data that can be included with the transaction request.

 

value

Optional

String

Max = 1024

This is additional data that can be included with the transaction request.

Building Transaction Lookup requests

The credit card Transaction Lookup request allows you to run a report, over a date range you specify, to return data for credit card transactions processed through your merchant account. For example, you might want to determine the result of a transaction that timed out, with no response returned, or the result of a batched transaction that gets declined at a later date.

You can look up the following transaction types:

  • Authorization
  • Purchase
  • Settlement
  • Credit
  • Payment/Independent Credit

Transaction Lookup example – C#

The following is a ccTxnLookupRequest example in C#.

// Prepare the call to the Credit Card Web Service

CCTxnLookupRequestV1 ccTxnLookupRequest = new CCTxnLookupRequestV1();

MerchantAccountV1 merchantAccount = new MerchantAccountV1();

merchantAccount.accountNum = "12345678";

merchantAccount.storeID = "myStoreID";

merchantAccount.storePwd = "myStorePWD";

ccTxnLookupRequest.merchantAccount = merchantAccount;

ccTxnLookupRequest.merchantRefNum = "123456789";



DateV1 startDate = new DateV1();

startDate.year = "2012";

startDate.month = "08";

startDate.day = "15";

startDate.hour = "11";

startDate.minute = "00";

startDate.second = "00";

ccTxnLookupRequest.startDate = startDate;



DateV1 endDate = new DateV1();

endDate.year = "2012";

endDate.month = "08";

endDate.day = "15";

endDate.hour = "14";

endDate.minute = "00";

endDate.second = "00";

ccTxnLookupRequest.endDate = endDate;



//Perform the Web Services call to process the request

CreditCardServiceV1 ccService = new CreditCardServiceV1();

CCTxnResponseV1 ccTxnResponse = ccService.ccTxnLookup(ccTxnLookupRequest);

// Print out the result

String responseTxt = ccTxnResponse.code + " - " + ccTxnResponse.decision;

responseTxt += "Transactions:" + Environment.NewLine;

if (ccTxnResponse.transaction != null)

{

for (int i = 0; i < ccTxnResponse.txnLookupResult.length; i++)

{

responseTxt += " - confirmationNumber: " +

ccTxnResponse.txnLookupResult[i].confirmationNumber + Environment.NewLine;

responseTxt += " - decison: " +

ccTxnResponse.txnLookupResult[i].decision + Environment.NewLine;

responseTxt += " - code: " +

ccTxnResponse.txnLookupResult[i].code + Environment.NewLine;

responseTxt += " - transaction type: " +

ccTxnResponse.txnLookupResult[i].tranType + Environment.NewLine;

responseTxt += " - transaction time: " +

ccTxnResponse.txnLookupResult[i].txnTime + Environment.NewLine;

responseTxt += " - merchantRefNum: " +

ccTxnResponse.txnLookupResult[i].merchantRefNum + Environment.NewLine;

responseTxt += " - card ending: " +

ccTxnResponse.txnLookupResult[i].cardEnding + Environment.NewLine;

responseTxt += " - card ending: " +

ccTxnResponse.txnLookupResult[i].cardEnding + Environment.NewLine;



CardExpiryV1 expiry = ccTxnResponse.txnLookupResult[i].cardExpiry;

responseTxt += " - card expiry: " +

expiry.month + "/" + expiry.year + Environment.NewLine;



responseTxt += Environment.NewLine + Environment.NewLine;

}



System.Console.WriteLine(responseTxt);

}

ccTxnLookupRequestV1 schema

A ccTxnLookupRequestV1 has the following structure:

ccTxnLookupRequestV1 elements

The ccTxnLookupRequestV1 document object may contain 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 = 20

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.

confirmationNumber

 

Optional

String

Max = 15

This is the confirmation number returned by Paysafe in response to the original request. Include this element only if you want to search using this field. This field takes precedence over the merchantRefNum field.

NOTE: If you include this element, you do not have to specify the startDate or endDate elements.

netbanxReference

 

Optional

String

Max = 18

This is a transaction ID used to identify certain legacy transactions.

NOTE: If you include this element, you must specify the startDate and endDate elements.

merchantRefNum

 

Optional

String

Max = 255

This is a unique ID number associated with the original request. The value is created by the merchant and submitted as part of the request.

NOTE: If you include this element, you must specify the startDate and endDate elements.

startDate

year

Conditional

Int

Max = 9999

This is the year set for the search start.

 

month

Conditional

Int

Min = 1

Max = 12

This is the month set for the search start.

 

day

Conditional

Int

Min = 1

Max = 31

This is the day set for the search start.

 

hour

Conditional

Int

Min = 0

Max = 23

This is the hour set for the search start.

 

minute

Conditional

Int

Min = 0

Max = 59

This is the minute set for the search start.

 

second

Conditional

Int

Min = 0

Max = 59

This is the second set for the search start.

endDate

year

Conditional

Int

Max = 9999

This is the year set for the search end.

 

month

Conditional

Int

Min = 1

Max = 12

This is the month set for the search end.

 

day

Conditional

Int

Min = 1

Max = 31

This is the day set for the search end.

 

hour

Conditional

Int

Min = 0

Max = 23

This is the hour set for the search end.

 

minute

Conditional

Int

Min = 0

Max = 59

This is the minute set for the search end.

 

second

Conditional

Int

Min = 0

Max = 59

This is the second set for the search end.

Building Enrollment Lookup requests

Use the Enrollment Lookup request to determine whether a cardholder’s credit card is enrolled in the 3D Secure program. Enrollment Lookup requests require the ccEnrollmentLookupRequestV1 document object. This section describes the structure of a ccEnrollmentLookupRequestV1 and how to construct one. 

This operation is supported only for 3D Secure 1.0.2.
See here for information about using 3D Secure 2.

Enrollment Lookup example – C#

The following is an Enrollment Lookup example in C#.

All optional elements that take non-nullable data types (e.g., int or enum) must have their specified attribute set to true when setting values for those elements. See the cardType element in the example below.

//Prepare the call to the Credit Card Web Service

CCEnrollmentLookupRequestV1 enrollmentLookupRequest = new CCEnrollmentLookupRequestV1();

MerchantAccountV1 merchantAccount = new MerchantAccountV1();

merchantAccount.accountNum = "12345678";

merchantAccount.storeID = "myStoreID";

merchantAccount.storePwd = "myStorePWD";

enrollmentLookupRequest.merchantAccount = merchantAccount;



enrollmentLookupRequest.merchantRefNum = "Ref-12345";

enrollmentLookupRequest.amount = "97.97";



CardV1 card = new CardV1();

card.cardNum = "4653111111111111";

CardExpiryV1 cardExpiry = new CardExpiryV1();

cardExpiry.month = 11;

cardExpiry.year = 2013;

card.cardExpiry = cardExpiry;

card.cardType = CardTypeV1.VI;

card.cardTypeSpecified = true;

enrollmentLookupRequest.card = card;



// Perform the Web Services call for the TDS Enrollment Lookup

CreditCardServiceV1 ccService = new CreditCardServiceV1();

CCTxnResponseV1 ccTxnResponse = ccService.ccTDSLookup(enrollmentLookupRequest);



// Print out the result

String responseTxt = ccTxnResponse.confirmationNumber + " - " + ccTxnResponse.code + " - " + ccTxnResponse.decision + " - " + ccTxnResponse.description;

responseTxt += Environment.NewLine;

responseTxt += "Details:" + Environment.NewLine;

if (ccTxnResponse.detail != null)

{

for (int i = 0; i < ccTxnResponse.detail.Length; i++)

{

responseTxt += " - " + ccTxnResponse.detail[i].tag + " - " + ccTxnResponse.detail[i].value + Environment.NewLine;

}

}

responseTxt += "TDSResponse:" + Environment.NewLine;

if (ccTxnResponse.tdsResponse != null)

{

responseTxt += " - " + ccTxnResponse.tdsResponse.acsURL + Environment.NewLine;

responseTxt += " - " + ccTxnResponse.tdsResponse.paymentRequest + Environment.NewLine;

responseTxt += " - " + ccTxnResponse.tdsResponse.enrollmentStatus + Environment.NewLine;

responseTxt += " - " + ccTxnResponse.tdsResponse.eci + Environment.NewLine;

}

responseTxt = responseTxt.Replace("\n", Environment.NewLine);

System.Console.WriteLine(responseTxt);

consoleTextBox.Text = responseTxt;

if (DecisionV1.ACCEPTED.Equals(ccTxnResponse.decision))

{

System.Console.WriteLine("Transaction Successful.");

}

else

{

System.Console.WriteLine("Transaction Failed with decision: " + ccTxnResponse.decision);

}

ccEnrollmentLookupRequestV1 schema

A ccEnrollmentLookupRequestV1 has the following structure:

ccEnrollmentLookupRequestV1 elements

The ccEnrollmentLookupRequestV1 document object may contain 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 = 20

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.

merchantRefNum

 

Yes

String

Max = 255

This is a unique ID number associated with each request. The value is created by the merchant and submitted as part of the request.

amount

 

Yes

String

Max=
999999999.99

This is amount of the transaction request.

NOTE: Though the amount element is mandatory for the Enrollment Lookup transaction, no amount is actually processed against the credit card.

card

cardNum

Yes

String

Min = 8

Max = 20

This is the card number used for the transaction.

 

cardExpiry

Yes

 

The cardExpiry child element has two further child elements – month and year.

   

Child Element of cardExpiry

 
 

month

Yes

Int

Max = 2

This is the month the credit card expires.

 

year

Yes

Int

Length = 4

This is the year the credit card expires.

   
 

cardType

Optional

Enumeration

This is the type of card used for the transaction. Possible values are:

•    JC – JCB

•    MC – Mastercard

•    VI – Visa

 

issueNum

Optional

Integer

Max = 2

The 1- or 2-digit number located on the front of the card, following the card number.

NOTE: The issueNum element is not used for this request type.

 

cvdIndicator

Optional

Integer

Length = 1

This is the status of CVD value information.
Possible values are:

•    0 – The customer did not provide a value.

•    1 – The customer provided a value.

•    2 – The value is illegible.

•    3 – The value is not on the card.

NOTE: the cvdIndicator element is not used for this request type.

 

cvd

Conditional

String

Length = 3 or 4

The 3- or 4-digit security code that appears on the card following the card number. This code does not appear on imprints.

NOTE: The cvd element is not used for this request type.

Building Authentication requests

Use the Authentication request to allow a cardholder to authenticate their card at the issuer and to retrieve the values required for the authentication element of a ccAuthRequestV1 transaction. Authentication requests require the ccAuthenticateRequestV1 document object. This section describes the structure of a ccAuthenticateRequestV1 and how to construct one.

This operation is supported only for 3D Secure 1.0.2.
See here for information about using 3D Secure 2.

Authentication example – C#

The following is an Authentication example in C#.

//Prepare the call to the Credit Card Web Service

CCAuthenticateRequestV1 authenticateRequest = new CCAuthenticateRequestV1();

MerchantAccountV1 merchantAccount = new MerchantAccountV1();

merchantAccount.accountNum = "12345678";

merchantAccount.storeID = "myStoreID";

merchantAccount.storePwd = "myStorePWD";

authenticateRequest.merchantAccount = merchantAccount;

authenticateRequest.confirmationNumber = "myConfirmationNumber";

authenticateRequest.paymentResponse = "myPaymentResponse";



// Perform the Web Services call for the authentication

CreditCardServiceV1 ccService = new CreditCardServiceV1();

CCTxnResponseV1 ccTxnResponse = ccService.ccTDSAuthenticate(authenticateRequest);



// Print out the result

String responseTxt = ccTxnResponse.confirmationNumber + " - " +

ccTxnResponse.code + " - " + ccTxnResponse.decision + " - " +

ccTxnResponse.description;

responseTxt += Environment.NewLine;

responseTxt += "Details:" + Environment.NewLine;

if (ccTxnResponse.detail != null)

{

for (int i = 0; i < ccTxnResponse.detail.Length; i++)

{

responseTxt += " - " + ccTxnResponse.detail[i].tag + " - " +

ccTxnResponse.detail[i].value + Environment.NewLine;

}

}

responseTxt = responseTxt.Replace("\n", Environment.NewLine);

System.Console.WriteLine(responseTxt);

consoleTextBox.Text = responseTxt;



if (DecisionV1.ACCEPTED.Equals(ccTxnResponse.decision))

{

System.Console.WriteLine("Transaction Successful.");

}

else

{

System.Console.WriteLine("Transaction Failed with decision: " +

ccTxnResponse.decision);

}

ccAuthenticateRequestV1 schema

A ccAuthenticateRequestV1 has the following structure:

ccAuthenticateRequestV1 elements

The ccAuthenticateRequestV1 document object may contain 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 = 20

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.

confirmationNumber

 

Yes

String

Max = 15

This is the confirmation number in the ccTxnResponseV1 returned by Paysafe in response to the ccEnrollmentLookupRequestV1.

paymentResponse

 

Yes

String

This is the Payment Authentication Response that is returned from the issuing bank via your customer’s Web browser once your customer has provided their authentication information. It is an encoded response generated by the Issuer ACS software. Its digital signature will be verified through Paysafe to ensure it was generated by a legitimate Issuer.

merchantRefNum

 

Optional

String

Max = 255

This is a unique ID number associated with each request. The value is created by the merchant and submitted as part of the request.

Processing the response

A ccTxnResponseV1 has the following structure:

The following elements are relevant for a ccTxnResponseV1:

Element Child Element Required Type Description

confirmationNumber

 

Yes

String

Max = 15

This is the confirmation number returned by Paysafe.

merchantRefNum

 

Optional

String

Max = 255

This is a unique ID number that was created by the merchant and submitted as part of the request.

childAccountNum

 

Optional

String

Max = 10

This is the child merchant account number, and provided only if the transaction was processed via a master account.

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.

•    Declined – the transaction was declined before it was sent for processing.

•    Held – the transaction has been placed on hold due to risk considerations.

code

 

Yes

Int

This is a numeric code that categorizes the response. 

actionCode

 

Optional

Enumeration

This indicates what action the caller should take.

Possible values are:

•    C – Consumer Parameter Error. The consumer has provided incorrect information. Ask the customer to correct the information.

•    D – Do Not Retry. Further attempts will fail.

•    M – Merchant Parameter Error. Your application has provided incorrect information. Verify your information.

•    R – Retry. The problem is temporary. Retrying the request will likely succeed.

description

 

Yes

String

Max = 1024

This is a human readable description of the code element.

authCode

 

Optional

String

Max = 20

This is the Authorization code assigned by the issuing bank and returned by Paysafe.

avsResponse

 

Optional

Enumeration

This is the AVS response from the card issuer. Possible values are:

•    X – Exact. Nine-digit zip code and address match.

•    Y – Yes. Five-digit zip code and address match.

•    A – Address matches, but zip code does not.

•    W – Nine-digit zip code matches, but address does not.

•    Z – Five-digit zip code matches, but address does not.

•    N – No part of the address matches.

•    U – Address information is unavailable.

•    R – Retry. System unable to process.

•    S – AVS not supported.

•    E – AVS not supported for this industry.

•    B – AVS not performed.

•    Q – Unknown response from issuer/banknet switch.

cvdResponse

 

Optional

Enumeration

This is the response to the cvdValue submitted with the transaction request. Possible values are:

•    M (Match) – The CVD value provided matches the CVD value associated with the card.

•    N (No Match) – The CVD value provided does not match the CVD value associated with the card.

•    P (Not Processed) – The CVD value was not processed.

•    Q (Unknown Response) – No results were received concerning the CVD value.

•    S (Not Present) – CVD should be on the card. However, the cardholder indicated it was not present.

•    U – Issuer is not certified and/or has not provided Visa encryption keys.

detail

tag

Optional

String

Max = 30

This is the tag/value pair returned as part of the detail element. 

 

value

Optional

String

Max = 1024

txnTime

 

Yes

dateTime

This is the date and time the transaction was processed by Paysafe.

duplicateFound

 

Yes

Boolean

This indicates if this transaction is a duplicate transaction, if a duplicate check was requested.

duplicateTransactionResponse

 

Optional

CCTxnResponseV1

If a duplicate record was found, this element contains the details of that record.

tdsResponse

This element and its child elements are returned only in response to the ccEnrollmentLookupRequestV1 transaction request.

acsURL

Optional

String

Max = 255

This is a fully qualified URL to redirect the consumer to complete the Payment Authentication Request transaction.

 

paymentRequest

Optional

String

This is an encoded Payment Authentication Request generated by the merchant authentication processing system (MAPS).

 

enrollmentStatus

Yes

Enumeration

This indicates whether or not the cardholder is enrolled in 3-D Secure. Possible values are:

•    Y – Authentication available

•    N – Cardholder not enrolled

•    U – Authentication unavailable

•    E – Error

 

eci

Optional

Enumeration

Visa/JCB

•    05 – Identifies a successfully authenticated transaction.

•    06 – Identifies an attempted authenticated transaction.

•    07 – Identifies a non-authenticated transaction.

Mastercard

•    01 – Identifies a non-authenticated transaction.

•    02 – Identifies a successfully authenticated transaction.

If the cardholder is not enrolled in 3D Secure, you can use this E-Commerce Indicator value for the indicator child element of the authentication element in your ccAuthRequestV1 Authorization/Purchase request.

However, if the cardholder is enrolled in 3D Secure, use the eci value in the tdsAuthenticateResponse element below.

tdsAuthenticateResponse

This element and its child elements are returned only in response to the ccAuthenticateRequestV1 transaction request.

status

Yes

Enumeration

This indicates the outcome of the authentication request.
Possible values are:

•    Y – Cardholder successfully authenticated with their Card Issuer.

•    A – Cardholder authentication was attempted.

•    N – Cardholder failed to successfully authenticate with their Card Issuer.

•    U – Authentication with the Card Issuer was unavailable.

•    E – Error

 

cavv

Optional

String

Max = 80

This is the Cardholder Authentication Verification Value returned by the card issuer. Use this value for the indicator child element of the authentication element in a ccAuthRequestV1.

 

signature
Verification

Yes

Enumeration

This indicates whether the paymentResponse element that was submitted with the Authentication request passed integrity checks.
Possible values are:

•    Y – All transaction and signature checks satisfied

•    N – At least one transaction or signature check failed.

 

xid

Optional

String

Max = 80

This is the transaction identifier returned in response to a ccAuthenticateRequestV1 Authentication request.

 

eci

Optional

Enumeration

Use this E-Commerce Indicator value for the indicator child element of the authentication element in your ccAuthRequestV1 Authorization/Purchase request.

Visa/JCB

•    05 – Identifies a successfully authenticated transaction.

•    06 – Identifies an attempted authenticated transaction.

•    07 – Identifies a non-authenticated transaction.

Mastercard

•    01 – Identifies a non-authenticated transaction.

•    02 – Identifies a successfully authenticated transaction.

lbCascading

 

Optional

 

This element provides information on transactions that were retried due to load balancing.

 

retryCount

Conditional

Int

This is the number of times Paysafe retried the transaction.

 

originalCode

Conditional

Int

The original response code returned by the system that caused Paysafe to retry the transaction.

addendumResponse

 

Optional

 

This element allows Paysafe to return certain gateway-specific response values to the merchant.

 

service

Conditional

String

Max = 50

This is the service provider who provides the values for the tag/value pair.

 

detail

Conditional

 

There may be multiple detail elements, if required.

   

Child Element of detail

 
 

tag

Conditional

String

Max = 30

This is the tag/value pair returned as part of the addendumResponse. 

 

value

Conditional

String

Max = 30

amount

 

Optional

String

Max=
999999999.99

This is amount of the transaction request.

tranType

NOTE: The tranType element is returned only in response to a ccTxnLookupRequestV1.

 

Optional

Enumeration

This is the type of transaction that was looked up. Possible values are:

•    A – Authorization

•    S – Settlement

•    P – Purchase

•    CR – Credit

•    PY – Payment

•    N – Independent Credit

cardEnding

NOTE: The cardEnding element is returned only in response to a ccTxnLookupRequestV1.

 

Optional

String

Max = 4

This is the last four digits of the card associated with this transaction.

cardExpiry

NOTE: The cardExpiry element is returned only in response to a ccTxnLookupRequestV1.

 

Optional

   

month

Conditional

Int

Max = 2

This is the month the credit card expires.

year

Conditional

Int

Length = 4

This is the year the credit card expires.

netbanxReference

NOTE: The netbanxReference element is returned only in response to a ccTxnLookupRequestV1.

 

Optional

String

Max = 18

This is a transaction ID that identifies certain legacy transactions.

txnLookupResult

NOTE: The txnLookupResult element is returned only in response to a ccTxnLookupRequestV1.

 

Conditional

 

This contains all the elements contained in the standard ccTxnResponseV1 that would have been returned for the initial request, in addition to the elements in this table that are identified as being returned only in response to a ccTxnLookupRequestV1 (e.g., tranType).

profile

id

Optional

String

Max = 50

This is an internal ID returned in the response to the profile request, used to identify a customer.

 

card

Conditional

   
   

Child Element of card

 
 

id

Conditional

String

Max = 50

This is the card ID returned by Paysafe to identify the profile card.

 

lastFourDigits

Conditional

Integer

This is the last 4 digits of the card number associated with the profile.

 

paymentToken

Conditional

String

Max = 50

This is a token generated by Paysafe that represents the card.

To process the response:

  1. Get the response details, which are available via get() methods of the response.

    String responseTxt = ccTxnResponse.code + " - " + ccTxnResponse.decision +
    " - " + ccTxnResponse.description ;

    responseTxt += "Details:" + Environment.NewLine;

    if (ccTxnResponse.detail != null)

    {

    for (int i = 0; i < ccTxnResponse.detail.Length; i++)

    {

    responseTxt += " - " + ccTxnResponse.detail[i].tag + " - " +

    ccTxnResponse.detail[i].value + Environment.NewLine;

    }

    }

    responseTxt = responseTxt.Replace("\n", Environment.NewLine);

    System.Console.WriteLine(responseTxt);



    if (DecisionV1.ACCEPTED.Equals(ccTxnResponse.decision))

    {

    System.Console.WriteLine("Transaction Successful.");

    }

    else

    {

    System.Console.WriteLine("Transaction Failed with decision: " +
    ccTxnResponse.decision);

    }
  2. Process based on the decision element. You would insert handling code appropriate to your application. You can also look at the code element to provide more fine-grained control for your application.

Detail tag/value pairs

Not all processing gateways support all detail tag/value pairs. Contact your account manager for more information.

The following table contains the tag/value pairs supported for the data element.

Tag Value

CurrencyCode

This value is returned if the addendumData tag element of the original transaction was set to SERVICE_REQUEST_CURRENCY.

BalanceResponse

This value is the balance remaining on a gift card, if a gift card was used for the original transaction.

Note that decimal is implied for currency, so, for example,
“16500” in dollars = $165.00.

addendumResponse tag/value pairs

Not all processing gateways support all addendumResponse tag/value pairs. Contact your account manager for more information.

The following table contains the tag/value pairs supported for the addendumResponse element.

Tag Service Value

BATCH_NUMBER

DJN

This is your batch number.

EFFECTIVE_DATE

DJN

This is the date of the bank deposit associated with the transaction.
Format = YYMMDD

SEQ_NUMBER

DJN

This is your sequence number.

TERMINAL_ID

DJN

This is your terminal ID.

Currency codes

Code Currency

ARS

Argentine Peso

AUD

Australian Dollar

BGN

Bulgarian Lev

BRL

Brazilian Real

CAD

Canadian Dollar

CHF

Swiss Franc

CZK

Czech Koruna

DKK

Danish Krone

EUR

Euro

GBP

Pound Sterling

HKD

Hong Kong Dollar

HUF

Forint

ILS

New Israeli Sheqel

ISK

Iceland Krona

JPY

Yen

MXN

Mexican Peso

NOK

Norwegian Krone

NZD

New Zealand Dollar

PLN

Zloty

RON

New Leu

SEK

Swedish Krona

SGD

Singapore Dollar

THB

Baht

TWD

New Taiwan Dollar

USD

US Dollar

ZAR

Rand