1. Changelog

Version Date Description

1.50

2024-01-20

Add new response status E001602 Transaction rejected, initial uuid already exists for cofInitial and recurringInitial

1.49

2024-01-15

An additional token payment request authorization optional field was added to reflect the token type used (GooglePay, ApplePay, etc.). Read more Token payment paymentData.walletIdentifier]

1.48

2024-01-15

Extension of the reversal method to provide a partial amount - partial reversal before clearing. Removal of the status - E00162 - Payment is already reversed because give the possibility of multiple reversals. Reversal]

Add information about partial reversal in /payments/query method, adding history of partial reversals of transactions. Details]

1.47

2024-01-10

Added validation that forbids provide UNDEFINED currency to /currency-rate method

1.46

2023-09-13

Add external trace id

1.45

2023-09-10

Added fields needed for a transaction, when it will be realized with specific interchange fee for merchant, indicated that terminal is registered in network program in Visa or Mastercard.

1.44

2023-08-29

Add new values for terminalPanEntryMode in the request.

1.43

2023-03-29

Adaptation to the mandatory amendment of AN 6022.

1.42

2022-10-31

Add field terminalPanEntryMode in the request.

1.41

2022-10-26

New report - TC 33 CAS has been added. More information in Reports section.

1.40

2022-05-16

Add paymentData object request for CoF/Recurring payments token cards processing

1.39

2022-04-13

Added new methods to register merchants in the 3ds 2.X Mastercard system - works on webhooks.

1.38

2022-03-31

Add new response status S00010 during refund processing clearing to notify that refund was reported for transaction.

1.37

2022-03-16

Allow processing multiple refunds for transaction up to clearing amount. Transaction details expanded with refund list history. Remove E00184 status. Added statuses E00189 and E00190.

1.36

2022-03-09

Added new statuses:

E001561 which is thrown when subsequent transaction was executed with other merchantId than the one that was used in initial recurring transaction.

E001591 which is thrown when subsequent transaction was executed with other merchantId than the one that was used in initial CoF transaction.

1.35

2022-03-01

Added new field in the response: productCategory to method: 5.1. Currency for card.

1.34

2021-12-27

Added DCC request refund option to allow refund processing in cardholder currency.

1.33

2021-12-06

Added transactionInitiator field for Recurring/CoF subsequent transactions to differ MIT/CIT/RECURRING_PAYMENT. Add optional outside3ds requests param for CIT/RECURRING_PAYMENT based CoF/recurring.

1.32

2021-12-06

Updated validation for purchaseAmount in Authentication request in 3DS 2.X verification methods

1.31

2021-10-25

Added validation on ECI and ability to perform transactions with status U on 3ds, new status E001596

1.30

2021-10-18

Added description of the use case of the Google pay method.

1.29

2021-08-23

Added defaultCurrency field to responses returned after a transaction. Added description to Product ID field for Visa.

1.28

2021-07-30

Added validation on transactionUuid uniqueness (per merchant.merchantId) field in payment (according to the documentation) and new response status - E001598 Transaction rejected, transactionUUID already exists.

1.27

2021-07-22

Added new field specialConditionIndicatorExistingDebt in the terminal objects, this field indicates the cardholder is making a payment on a debt.

1.26

2021-06-24

Added new field cryptoCurrency in the terminal objects for terminals that process cryptocurrency transactions.

1.25

2021-06-24

Added a new payment method Token payment.

1.24

2021-05-04

New file 'Clearing Detail File' report introduced.

1.23

2021-03-10

Remove status E00157 and allow processing of all types of payment transactions using quasi-cash terminal mcc.

1.22

2021-01-26

Added new fields in the response: provider and cardType to methods: 5.1. Currency for card, 5.4. Payment, 5.13. Details.

1.21

2021-01-21

Added new field merchantUrl do 3ds 2.x 4.2. Authentication method.

1.20

2021-01-19

Added in the Currency for card method the cardholderCurrencyIndicator field that determines if the card supports DCC.

1.19

2021-01-18

Added merchant configuration to 3DS 1.X initialize method.

1.18

2020-11-06

Added new columns to the Interchange report.

1.17

2020-11-05

Change in outside 3DS, authentication status required Y or A value.

1.16

2020-10-14

Added new VISA response code value 80.

1.15

2020-10-09

Added Mastercard Currency Update report.

1.14

2020-10-08

Added 3DS 2.X API methods.

1.13

2020-10-07

MO/TO DCC payment status E00158 added.

1.12

2020-09-20

Added Installment Payment API methods.

1.11

2020-09-14

Added MO/TO payment.

1.10

2020-09-09

Added Mastercard Settlement Position Details report.

1.9

2020-08-31

Added Mastercard reports txt example.

1.8

2020-07-27

Added VISA reports csv example.

1.7

2020-07-10

Added MasterCard reports csv example.

1.6

2020-07-06

Update diagrams.

1.5

2020-07-01

New method "Card Provider" added.

1.4

2020-06-30

Update VISA reports.

1.3

2020-06-30

Update MasterCard statuses table.

1.2

2020-06-16

Changes in the CSV file structure in Fee Collection Clearing System and Interchange Report.

1.1

2020-06-01

DCC Payment method description changed.

1.0

2020-05-25

First release of API Processor documentation.

1.1. Product Announcements

1.1.1. Adaptation to the mandatory amendment of AN 6022

Date on Staging

2023-03-29

Date on Production

2023-06-06

Source of changes

Mandate AN6022

What was change

  • Authentication

  • Authorization

  • Clearing

  • Reporting

  • API

Scope of changes

We added new fields on API endpoints: 6.4., 6.5., 6.6., 6.7., 6.8., 6.9.:

  • merchant.subdivision

  • merchant.taxId

  • merchant.partnershipAgreement

  • merchant.contactPhoneNumber

  • merchant.supportPhoneNumber

  • merchant.serviceCity

  • merchant.serviceCountry

  • merchant.servicePostalCode

  • merchant.serviceSubdivision

All fields are optional on API but Mastercard require fields:

  • merchant.subdivision

  • merchant.contactPhoneNumber

  • merchant.supportPhoneNumber

We will also start sending DE48 SE22 SF006

Fields When You should use that field Should I do something? How we will use that field Authorization Clearing

merchant.subdivision

Based on Mastercard documentation always.

Change on integration

We will not send if filed is null.

DE122 SE001 SF002

DE43 SF005

merchant.taxId

Field is conditional. Based on Mastercard infotmation, it is required when local law require that field.

no

We will send zeros + N if field is null.

DE122 SE001 SF007

n/a

merchant.partnershipAgreement

Only if Mastercard has relation with merchant.

no

We will not send if filed is null.

DE122 SE001 SF008

n\a

  • merchant.contactPhoneNumber

  • merchant.supportPhoneNumber

Based on Mastercard documentation always.

Send Us a decision what should be default value.

We will send default acquirer number or zeros (depends on Your decision) if fields is null.

  • DE122 SE001 SF004

  • DE122 SE001 SF005

PDS0170

  • merchant.serviceCity

  • merchant.serviceCountry

  • merchant.servicePostalCode

  • merchant.serviceSubdivision

Based on Mastercard documentation required for eCommerce for this cases:

  • e-commerce: electric vehicle charging or fuel purchase then service location should be Location of the charging station or refueling station.

  • e-commerce: In-store pickup then service location should be Merchant store location: The location of the merchant store.

no

We will not send if filed is null.

  • DE122 SE001 SF009

  • DE122 SE001 SF010

  • DE122 SE001 SF011

  • DE122 SE001 SF012

no changes

  • merchant.street

  • merchant.streetNumber

  • merchant.homeNumber

no changes

no changes

We will change DE in which we send that fields.

DE122 SE001 SF001

PDS0216

Timelines
From Procesing Mastercard

2023-03-29

We can consume new fields on Stage

2023-04-05

We can consume new fields on Production but we do not send that data to Masteracrd

2023-04-05

We will not send data to clearing as we do not has proper data on authorization.

Mastercard will implement new changes for Clearing on Production

2023-06-06

Start sending fields for Authorization and Clearing for Test Productions TIDs.

Mastercard will implement new changes for Authorization on Production

Between 2023-06-06 and 2023-06-30

Verification on production and rollout for all clients.

There are no possibility to test earlier on production

2. Introduction

Fenige Processor e-commerce API service allows to easily and safely perform operations realated to e-commerce. You can authorize payments and show details about completed transactions. Also you can make reversals, clearings and refunds.

3ds authorize payment request processor
Figure 1. E-commerce flow

2.1. Endpoints

Environment Endpoint (base url)

Staging

https://processor-staging.fenige.pl

2.2. General methods

All api methods require the delivery of appropriate headers.

List of methods headers used in Fenige REST API:

Key Value Validation Description

Content-Type

application/json

Required

Used to indicate the media type of the resource

Authorization

Basic YWNxdWlyZXJuYW1lOnBhc3N3b3Jk

Required

Basic Auth from Acquirer data (acquirer name and password). Consist of keyword Basic and string obtained from Base64 coding method for Acquirer name and password parameter

2.3. HTTP verbs

RESTful notes tries to adhere as closely as possible to standard HTTP and REST conventions in its use of HTTP verbs.

Verb Usage

GET

Used to retrieve a resource

POST

Used to create a new resource

PUT

Used to update specific resource

DELETE

Used to delete a resource

2.4. HTTP status codes

RESTful notes tries to adhere as closely as possible to standard HTTP and REST conventions in its use of HTTP status codes.

Status code Usage

200 OK

The request completed successfully

202 ACCEPTED

The request has been accepted for processing, but the processing has not been completed. The request might or might not eventually be acted upon, as it might be disallowed when processing actually takes place.

203 NON-AUTHORITATIVE INFORMATION

The request with 3ds has been registered for processing. Check status in a while.

400 BAD REQUEST

The request was malformed. The response body will include an error providing further information

404 NOT FOUND

The requested resource did not exist

409 CONFLICT

This response status code indicates a request conflict with current state of the target resource.

422 UNPROCESSABLE ENTITY

This response status code indicates that the server understands the content type of the request entity, and the syntax of the request entity is correct, but it was unable to process the contained instructions.

500 INTERNAL SERVER ERROR

Message occur when an unexpected condition was encountered

Table 1. Response status - Transaction
Code Messages HTTP Code HTTP STATUS

S00000

SUCCESS

200

OK

S00002

Success transaction

200

OK

S00003

Transaction declined, check response code for reason

200

OK

S00004

PENDING

202

ACCEPTED

S00005

Success reverse transaction

200

OK

S00006

Reverse transaction declined, check response code for reason

200

OK

Table 2. Response status - JSON Errors

Code

Messages

HTTP Code

HTTP STATUS

E00111

Invalid format JSON

422

UNPROCESSABLE ENTITY

Table 3. Response status - Currency Errors

Code

Messages

HTTP Code

HTTP STATUS

E00141

Currency rate not found

404

NOT FOUND

E00143

Currency not found

404

NOT FOUND

Table 4. Response status - Transaction Errors
Code Messages HTTP Code HTTP STATUS

E00150

Transaction rejected

422

UNPROCESSABLE ENTITY

E00151

Transaction rejected, currency not supported

422

UNPROCESSABLE ENTITY

E00152

Transaction rejected, issuer not supported

422

UNPROCESSABLE ENTITY

E00153

Transaction declined, problem with MIP connection

500

INTERNAL SERVER ERROR

E00155

Transaction not exist

404

NOT FOUND

E00156

Transaction rejected, initial recurring transaction not approved/exist

422

UNPROCESSABLE ENTITY

E001561

Transaction rejected, invalid initial recurring merchantId

422

UNPROCESSABLE ENTITY

E00158

Transaction rejected, invalid Cardholder Currency Indicator for DCC transaction

422

UNPROCESSABLE ENTITY

E00159

Transaction rejected, initial CoF transaction not approved/exist

422

UNPROCESSABLE ENTITY

E001591

Transaction rejected, invalid initial CoF merchantId

422

UNPROCESSABLE ENTITY

E001596

Transaction rejected, ECI value is not available for card provider

422

UNPROCESSABLE ENTITY

E001597

Transaction declined, processing timeout

500

INTERNAL SERVER ERROR

E001598

Transaction rejected, transactionUUID already exists

409

CONFLICT

E00160

Transaction rejected, cvc2 is required if no 3DS has been made

422

UNPROCESSABLE ENTITY

E001602

Transaction rejected. Not found Card Authentication (3DS 2.X).

422

UNPROCESSABLE ENTITY

E001603

Transaction rejected, ECI value is not valid for Card Authentication. Only if 3DS Authentication Status = U and eci is not equal 00 or 07.

422

UNPROCESSABLE ENTITY

Table 5. Response status - Reversal Errors
Code Messages HTTP Code HTTP STATUS

E00161

Can’t reversal payment

422

UNPROCESSABLE ENTITY

E00162

Payment is already reversed

422

UNPROCESSABLE ENTITY

Table 6. Response status - Clearing Errors
Code Messages HTTP Code HTTP STATUS

E00170

Clearing of the payment is processing

422

UNPROCESSABLE ENTITY

E00171

Can’t replay payment

422

UNPROCESSABLE ENTITY

E00172

Can’t replay payment, the time is over

422

UNPROCESSABLE ENTITY

E00173

Payment is automatically cleared

422

UNPROCESSABLE ENTITY

E00174

Payment is already cleared

422

UNPROCESSABLE ENTITY

E00175

Can’t replay payment, clearing amount is to low

422

UNPROCESSABLE ENTITY

E00176

Can’t replay payment, clearing amount is to high

422

UNPROCESSABLE ENTITY

Table 7. Response status - Refund Errors
Code Messages HTTP Code HTTP STATUS

E00180

Refund rejected, no MC/VISA response

500

INTERNAL SERVER ERROR

E00181

Refund rejected by MC/VISA

500

INTERNAL SERVER ERROR

E00182

Refund transaction amount to low

400

BAD REQUEST

E00183

Refund transaction amount to high

400

BAD REQUEST

E00185

Transaction not cleared, can’t refund

422

UNPROCESSABLE ENTITY

E00186

Refund is already processing

422

UNPROCESSABLE ENTITY

E00187

Transaction is chargeback reported

422

UNPROCESSABLE ENTITY

E00188

Unable to refund. The transaction is Installment Payment processing.

422

UNPROCESSABLE ENTITY

E00189

Refund rejected, refundUuid non unique in system

422

UNPROCESSABLE ENTITY

E00190

Refund rejected, the cumulative refund amount exceeding transaction cleared amount

422

UNPROCESSABLE ENTITY

Table 8. Response status - Intallment Payment Errors
Code Messages HTTP Code HTTP STATUS

E001900

Installment Payment initial not found

500

INTERNAL_SERVER_ERROR

E001901

Installment Payment already confirmed

500

INTERNAL_SERVER_ERROR

E001902

Installment Payment already cancelled

INTERNAL_SERVER_ERROR

500

E001903

Installment Payment already pay in full

INTERNAL_SERVER_ERROR

500

E001904

Installment Payment not confirmed in required time

INTERNAL_SERVER_ERROR

500

E001905

Installment Payment Initial was failed

INTERNAL_SERVER_ERROR

500

E001906

Installment Payment could not find valid installment plan for requested uuid

INTERNAL_SERVER_ERROR

500

E001907

Installment Payment Option not allowed for transaction

INTERNAL_SERVER_ERROR

500

E001908

Installment Payment missing plan uuid"

INTERNAL_SERVER_ERROR

500

E001909

Installment Payment missing request number of installments

INTERNAL_SERVER_ERROR

500

E001910

Installment Payment requested number of installments is outside of allowed range

INTERNAL_SERVER_ERROR

500

E001911

Installment Payment reverse not allowed

INTERNAL_SERVER_ERROR

500

E001912

Installment Payment refund not allowed

INTERNAL_SERVER_ERROR

500

E001913

Installment Payment unsupported card provider VISA

INTERNAL_SERVER_ERROR

500

Table 9. Response status - 3DS 2.X
Code Messages HTTP Code HTTP STATUS

E03000

Error mpi V2 - failed internal

500

INTERNAL_SERVER_ERROR

E03001

Three DS Method Data mismatch

422

UNPROCESSABLE_ENTITY

E03002

Error on parsing Three DS Method Data

422

UNPROCESSABLE_ENTITY

E03003

Card number not Enrolled in 3DS v2

422

UNPROCESSABLE_ENTITY

E03004

Invalid card authentication id

422

UNPROCESSABLE_ENTITY

E03005

Issuer card is not supported

422

UNPROCESSABLE_ENTITY

E03006

Invalid card number

422

UNPROCESSABLE_ENTITY

E03007

Card Authentication not found

404

NOT_FOUND

E03009

Protocol version is not supported

422

UNPROCESSABLE_ENTITY

E03010

Invalid Three DS Method Data

422

UNPROCESSABLE_ENTITY

Table 10. Response status - Global Errors
Code Messages HTTP Code HTTP STATUS

E80000

Bad Request

400

BAD REQUEST

Table 11. Response status - Fatal Errors

Code

Messages

HTTP Code

HTTP STATUS

E90000

Domain error

500

INTERNAL SERVER ERROR

E90001

Error acquirer connection

503

SERVICE_UNAVAILABLE

E90002

Error mpi connection

503

SERVICE_UNAVAILABLE

E90004

Unable to read dek file

500

INTERNAL SERVER ERROR

E90005

Decryption error

500

INTERNAL SERVER ERROR

E90006

Encryption error

500

INTERNAL SERVER ERROR

E90007

Error mpi - 3ds initialize failed

500

INTERNAL SERVER ERROR

E90008

Error mpi - 3ds finalize failed

500

INTERNAL SERVER ERROR

2.5. Mastercard/VISA statuses

Table 12. Statuses in accordance with ISO-8583
Status code Usage

CODE_00

Approved or completed successfully

CODE_01

Refer to card issuer

CODE_02

Refer to card issuer’s special conditions

CODE_03

Invalid merchant

CODE_04

Pick up card (no fraud)

CODE_05

Do not honor

CODE_06

General error

CODE_07

Pick up card, special condition (fraud account)

CODE_08

Honor with ID

CODE_09

Request in progress

CODE_10

Approved for partial amount

CODE_11

Approved (V.I.P)

CODE_12

Invalid transaction

CODE_13

Invalid amount

CODE_14

Invalid account number (no such number)

CODE_15

No such issuer

CODE_16

Approved, update track 3

CODE_17

Customer cancellation

CODE_18

Customer dispute

CODE_19

Re-enter transaction

CODE_20

Invalid response

CODE_21

No action taken

CODE_22

Suspected malfunction

CODE_23

Unacceptable transaction fee

CODE_24

File update not supported by receiver

CODE_25

Unable to locate record in file

CODE_26

Duplicate file update record, old record replaced

CODE_27

File update field edit error

CODE_28

File update file locked out

CODE_29

File update not successful, contact acquirer

CODE_30

Format error

CODE_31

Bank not supported by switch

CODE_32

Completed partially

CODE_33

Expired card

CODE_34

Suspected fraud

CODE_35

Card acceptor contact acquirer

CODE_36

Restricted card

CODE_37

Card acceptor call acquirer security

CODE_38

Allowable PIN tries exceeded

CODE_39

No credit account

CODE_40

Requested function not supported

CODE_41

Lost card, pick up (fraud account)

CODE_42

No universal account

CODE_43

Stolen card, pick up (fraud account)

CODE_44

No investment account

CODE_51

Not sufficient funds

CODE_52

No checking account

CODE_53

No savings account

CODE_54

Expired card or expiration date is missing

CODE_55

Incorrect PIN or PIN missing

CODE_56

No card record

CODE_57

Transaction not permitted to cardholder

CODE_58

Transaction not permitted to acquirer/terminal

CODE_59

Suspected fraud

CODE_60

Card acceptor contact acquirer

CODE_61

Exceeds withdrawal amount limit

CODE_62

Restricted card (card invalid in this region or country)

CODE_63

Security violation (source is not correct issuer)

CODE_64

Original amount incorrect/Transaction does not fulfill AML requirement

CODE_65

Exceeds withdrawal frequency limit

CODE_66

Card acceptor call acquirer’s security department

CODE_67

Hard capture (requires that card be picked up at ATM)

CODE_68

Response received too late

CODE_70

Contact Card Issuer/PIN data required

CODE_71

PIN Not Changed

CODE_74

Different value than that used for PIN encryption errors

CODE_75

Allowable number of PIN tries exceeded

CODE_76

Invalid/nonexistent “To Account” specified/Unsolicited reversal

CODE_77

Invalid/nonexistent “From Account” specified

CODE_78

Invalid/nonexistent account specified (general)/“Blocked, first used”—Transaction from new cardholder, and card not properly unblocked

CODE_79

Life cycle/Already reversed (by Switch)

CODE_80

System not available/No financial impact

CODE_81

Domestic Debit Transaction Not Allowed (Regional use only)/Cryptographic error found in PIN

CODE_82

Policy (Mastercard use only)/Negative CAM, dCVV, iCVV, or CVV results

CODE_83

Fraud/Security (Mastercard use only)

CODE_84

Invalid Authorization Life Cycle

CODE_85

Not declined/No reason to decline a request for address verification, CVV2 verification, or a credit voucher or merchandise return

CODE_86

PIN Validation not possible

CODE_87

Purchase Amount Only, No Cash Back Allowed

CODE_88

Cryptographic failure

CODE_89

Unacceptable PIN—Transaction Declined—Retry/Ineligible to receive financial position information (GIV)

CODE_90

Cutoff is in process (switch ending a day’s business and starting the next. Transaction can be sent again in a few minutes)

CODE_91

Issuer or switch is inoperative/Issuer or switch inoperative and STIP not applicable or not available for this transaction; Time-out when no stand-in; POS Check Service: Destination unavailable; Credit Voucher and Merchandise Return Authorizations: V.I.P. sent the transaction to the issuer, but the issuer was unavailable.

CODE_92

Financial institution or intermediate network facility cannot be found for routing

CODE_93

Transaction cannot be completed. Violation of law

CODE_94

Duplicate transmission

CODE_95

Reconcile error

CODE_96

System malfunction or certain field error conditions

CODE_A1

Additional customer authentication required

CODE_B1

Surcharge amount not permitted on Visa cards (U.S. acquirers only)

CODE_B2

Surcharge amount not supported by debit network issuer.

CODE_N0

Force STIP

CODE_N3

Cash service not available

CODE_N4

Cashback request exceeds issuer limit or appoved limit

CODE_N5

Ineligible for resubmission

CODE_N7

Decline for CVV2 failure

CODE_N8

Transaction amount exceeds preauthorized approval amount

CODE_P2

Invalid biller information

CODE_P5

Denied PIN unblock—PIN change or unblock request declined by issuer

CODE_P6

Denied PIN change—requested PIN unsafe

CODE_Q1

Card Authentication failed

CODE_R0

Stop payment order

CODE_R1

Revocation of authorization order

CODE_R2

Transaction does not qualify for Visa PIN

CODE_R3

Revocation of all authorizations order

CODE_XA

Forward to issuer

CODE_XD

Forward to issuer

CODE_Z3

Unable to go online

CODE_TBA

Customer ID verification failed

CODE_1A

Additional customer authentication required (Europe Region only)

CODE_6P

Verification Failed (Cardholder Identification does not match issuer records)

3. 3DS 2.X verification methods

3ds 2.X and 3ds 1.0 flow
3ds 2.X flow
Table 13. 3DS Status and liability shift
3DS status ECI(Mastercard) ECI(Visa) Liability Recommended Action

Y

02

05

Card Issuer

Proceed to Card Authorization

A

01

06

Card Issuer

Proceed to Card Authorization

N

00

07

Merchant

No liability shift, do not proceed with the transaction

U

00

07

Merchant

No liability shift, consider whether to proceed with the transaction

R

00

07

Merchant

No liability shift, do not proceed with the transaction

3.1. Pre Authentication

POST /processor/3ds/preAuthentication Content Type: application/json, Authorization: Basic Auth
Method to initiate 3ds authentication.
If the card is in 3ds 2.X, you can proceed to the first stage of authentication. If 'threeDSMethodURL' is returned, make a hidden iframe and post form with field name
'threeDSMethodData' on address from 'threeDSMethodURL'. Insert 'threeDSMethodData' from response to form. You should receive a response on your endpoint 'methodNotificationUrl' with 'threeDSMethodData' too. Measure the response time, the time and response are required at the 'Authentication' method, based on the response time, set the field 'methodCompletionIndicator'.

'threeDSMethodData ' is Base64 encoded string json with fields 'threeDSMethodNotificationURL' and 'threeDSServerTransID'.

If the card is not in 3DS 2.X use version 1.0.

3.1.1. Request

POST /processor/3ds/preAuthentication HTTP/1.1
Authorization: Basic bmFtZTpwYXNzd29yZA==
Content-Type: application/json
Content-Length: 162
Host: processor-staging.fenige.pl

{
  "requestUuid" : "e85e5e38-206f-4c65-82de-ecab352dbb6b",
  "cardNumber" : "5430149160516930",
  "methodNotificationUrl" : "methodNotificationUrl.exemple.com"
}
Table 14. PRE AUTHENTICATION 3DS REQUEST FIELDS
Path Type Constraints Description

requestUuid

String

@Must not be null

Request’s unique uuid in system

cardNumber

String

@Must be a number and length must be between 12 and 19, @Luhn, @Must not be blank, @Must not be null

Card number

methodNotificationUrl

String

@Must not be null

The URL to which the method notification will be posted. This property specifies the URL to which the ACS will post when the method execution has completed.

3.1.2. Response

200 OK
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 591

{
  "requestUuid" : "74695fea-12e9-44db-8661-7bc5fe6d1c14",
  "cardAuthenticationId" : "b1062c6a-6599-435b-bebd-7824c96ffeb7",
  "threeDSMethodData" : "eyJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjoiaHR0cHM6Ly93ZWJob29rLnNpdGUvZDMyZTlkZTgtMGFiOC00ODZjLWJjNzEtMGU2Mzg2MmY4MDNhM2I1YTkzZTUtMjI1Ni00NGQ0LTg2YjItNWFkM2FhMDEyYTJhIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiIxNjNiZWMzOC1kOTM1LTQ0MGItYWYwYy01OWM3NDI3OTk2MGMifQ",
  "threeDSMethodURL" : "https:/acs.com",
  "protocolVersionStart" : "2.1.0",
  "protocolVersionEnd" : "2.2.0",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}

Unresolved directive in 3DSAPI/threeDSV2VerificationMethod.adoc - include::/var/lib/jenkins/workspace/processor_staging/processor_hub-staging/target/generated-snippets/ThreeDsV2/preAuthentication3DSV2/response-fields-beneath-result.adoc[]

200 OK without threeDSMethodURL
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 550

{
  "requestUuid" : "e0e46d94-3eb4-4517-8ef8-295de89da34a",
  "cardAuthenticationId" : "42b89659-2d71-41c3-a8db-50830ec84ad5",
  "threeDSMethodData" : "eyJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjoiaHR0cHM6Ly93ZWJob29rLnNpdGUvZDMyZTlkZTgtMGFiOC00ODZjLWJjNzEtMGU2Mzg2MmY4MDNhM2I1YTkzZTUtMjI1Ni00NGQ0LTg2YjItNWFkM2FhMDEyYTJhIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiIxNjNiZWMzOC1kOTM1LTQ0MGItYWYwYy01OWM3NDI3OTk2MGMifQ",
  "protocolVersionStart" : "2.1.0",
  "protocolVersionEnd" : "2.2.0",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}

Unresolved directive in 3DSAPI/threeDSV2VerificationMethod.adoc - include::/var/lib/jenkins/workspace/processor_staging/processor_hub-staging/target/generated-snippets/ThreeDsV2/preAuthenticationWithoutThreeDSMethodURL3DSV2/response-fields-beneath-result.adoc[]

422 UNPROCESSABLE_ENTITY Card number not Enrolled in 3DS v2
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
Content-Length: 230

{
  "requestUuid" : "783f0a47-6862-4217-af27-15cecf06fe7d",
  "status" : "E03003",
  "message" : "Card number not Enrolled in 3DS v2",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "ba96f2c6-fd6b-4a01-a760-d38cb5d60718"
}
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
Content-Length: 224

{
  "requestUuid" : "6aefe1fd-d5f6-439f-ac10-2a2b6a24284f",
  "status" : "E03005",
  "message" : "Issuer card is not supported",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "c6230d0b-737a-40ae-84a5-2b078097ed41"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

traceId

String

Unique id for this http request register in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

3.2. Authentication

POST /processor/3ds/authentication Content Type: application/json, Authorization: Basic Auth
Method initialize authentication process by sending required transaction data. Method can return final data like cavv, transactionXId, eci or challenge flow (shown in the diagram).
After challenge end your app get notification on 'notificationUrl'. This is a POST request with "cres" and "threeDSSessionData".

"threeDSSessionData" is a encoded in base64 "cardAuthenticationId". You must use it in 'Authentication Details' method to get authentication value cavv, transactionXId and eci.

'cres' is Base64 encoded string json with fields: 'threeDSServerTransID', 'acsTransID', 'challengeCompletionInd', 'messageVersion', 'transStatus'.
'threeDSServerTransID' - is same like in 'threeDSMethodData'.
'transStatus' - is same like 'transactionStatus' in response from 'Authentication' method.
In the test environment, you have the option of calling different transactionStatus, depending on the purchaseAmount field. Eg.
     (1, 1000) - Y,
     (1001, 2000) - A,
     (2001, 3000) - C,
     (3001, 4000) - N,
     (4001, 5000) - U,
     (5001, 6000) - I,
     (6001, 7000) - status: E03000,
     (7001, 8000) - status: E03009

3.2.1. Request

POST /processor/3ds/authentication HTTP/1.1
Authorization: Basic bmFtZTpwYXNzd29yZA==
Content-Type: application/json
Content-Length: 1522
Host: processor-staging.fenige.pl

{
  "requestUuid" : "be836e83-f6f7-4a1d-afb4-3b862516a4ab",
  "cardAuthenticationId" : "27225e62-c99d-46ab-8ad0-a1f62c38e012",
  "threeDSMethodData" : "eyJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjoiSFRUUDQwYjgyNDQ3LTE0ODUtNDUwZi04ZGYxLTdhNGQwYmRiMWMzYiIsInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjoiNDE1MDQzY2UtYTNhMC00ODBjLTk0YTYtNzk2NGEzYTcxNWI2In0",
  "methodCompletionIndicator" : "Y",
  "cardNumber" : "5430149160516930",
  "cardExpirationDate" : "12/22",
  "cardholderName" : "John",
  "purchaseAmount" : "123",
  "purchaseCurrency" : "PLN",
  "browserAcceptHeader" : "Accept: application/json",
  "browserLanguage" : "PL",
  "browserScreenHeight" : "1500",
  "browserScreenWidth" : "1500",
  "browserTimeZone" : "60",
  "browserUserAgent" : "Mozilla/5.0",
  "browserScreenColorDepth" : "24",
  "merchantId" : "MerchantId",
  "merchantCountryCode" : "616",
  "merchantName" : "Merchant Name",
  "merchantUrl" : "https:////merchant-site.com",
  "merchantCategoryCode" : "7777",
  "notificationUrl" : "notfication.examlpe.com",
  "cardholderEmail" : null,
  "cardholderHomePhone" : null,
  "cardholderMobilePhone" : null,
  "cardholderWorkPhone" : null,
  "browserIPAddress" : "77.55.135.220",
  "browserJavaEnabledVal" : "ENABLED",
  "browserJavaScriptEnabled" : "ENABLED",
  "recurringExpDate" : null,
  "recurringFrequency" : null,
  "recurringInitialTransactionXId" : null,
  "instalmentPaymentData" : null,
  "authenticationType" : "PAYMENT",
  "requestorChallengeInd" : "NO_CHALLENGE_REQUESTED",
  "protocolVersion" : "2.2.0"
}
Table 15. AUTHENTICATION 3DS REQUEST FIELDS
Path Type Constraints Description

requestUuid

String

@Must not be null

Request’s unique uuid in system

cardAuthenticationId

String

@Must not be empty

Unique identifier for 3ds verification from preAuthentication request

cardNumber

String

@Must be a number and length must be between 12 and 19, @Luhn

Card number

cardExpirationDate

String

@Length must be 5, @Must not be null

Expiration date of card mm/yy

cardholderName

String

@Optional. @Length between 2 and 45 inclusive

This property contains the name of the cardholder. Name of the Cardholder. Must be ASCII characters. This is required to be set unless market or regional mandates restricts sending this information.

purchaseAmount

String

@Must match the regular expression \d{1,48}, @Must not be null

This field contains the purchase amount to be authorized. The transaction amount is to be presented with an implied decimal point. For example, US $10.00 must be represented as 1000, and $0.10 is likewise simply 10. The allowable number of significant digits as well as the positioning of any implied decimal point is dictated by the designated PurchaseExponent. This field may not contain a negative number.

purchaseCurrency

String

@Must not be null

Currency for transaction (in accordance with 3-digit ISO-4217), example: USD

merchantId

String

@Must not be empty

This field contains a merchantId registered in DirectoryServer. This is not the same value as the transaction!

merchantName

String

@Must not be empty

This field contains a value merchant name which is visible on the 3ds confirmation form from the bank

merchantUrl

String

@Must not be empty

This field contains a value merchant URL - merchant or terminal website

merchantCountryCode

String

@Must match the regular expression \d+, @Must not be empty

This field contains a value Merchant country code location. These codes are specified by ISO-3166

merchantCategoryCode

String

@Must not be empty

This field contains a value merchant category code

notificationUrl

String

@Length must be between 0 and 256 inclusive

This property specifies the URL to which the final challenge response is POSTed

threeDSMethodData

String

@Must not be empty

Response data from a hidden form from the Pre Authentication. If threeDSMethodURL is empty set encodedData

methodCompletionIndicator

String

@Must not be null

Y if response from hidden form from Pre Authentication is under 10s, N if response from hidden form from Pre Authentication is over 10s, U if threeDSMethodURL is empty

protocolVersion

String

@Must not be null

This field indicates the protocol version. Now there are two versions: 2.1.0 and 2.2.0. It is recommended to use 2.2.0 if the card supports it. You will get it from the Pre Authentication method. Some configurations are only available for 2.2.0.

requestorChallengeInd

String

Required for authenticationType:

ADD_CARD,

VERIFY_CARDHOLDER,

PAYMENT,

INSTALLMENT_PAYMENT,

COF_INITIAL,

RECURRING_INITIAL

Indicates whether a challenge is requested for this transaction. For authenticationType PAYMENT possible values are: NO_PREFERENCE, NO_CHALLENGE_REQUESTED, CHALLENGE_REQUESTED_MANDATE, CHALLENGE_REQUESTED_3DS_REQUESTOR_PREFERENCE

For authenticationType ADD_CARD, VERIFY_CARDHOLDER, INSTALLMENT_PAYMENT, COF_INITIAL, RECURRING_INITIAL possible values are: CHALLENGE_REQUESTED_MANDATE, CHALLENGE_REQUESTED_3DS_REQUESTOR_PREFERENCE

authenticationType

String

@Must not be null

Authentication Type configuration prepared for specific type. Possible values are:

Non payment authentication - Identity verification and account confirmation:

ADD_CARD

VERIFY_CARDHOLDER

Payment authentication - Cardholder authentication during an e-commerce transaction:

PAYMENT

COF_INITIAL

INSTALLMENT_PAYMENT

RECURRING_INITIAL

3DS Requestor Initiated (only for protocolVersion 2.2.0) - Confirmation of account information and Cardholder authentication with no direct Cardholder present. For example, a subscription-based e-commerce merchant confirming that an account is still valid:

MOTO

RECURRING_SUBSEQUENT

browserAcceptHeader

String

Max length: 2048.

Required for authenticationType:

ADD_CARD,

VERIFY_CARDHOLDER,

PAYMENT,

INSTALLMENT_PAYMENT,

COF_INITIAL,

RECURRING_INITIAL

This field contains the exact content of the HTTP accept header as sent to the merchant from the cardholder’s user agent. This field is required only if the cardholder’s user agent supplied a value. e.g Accept: application/json

browserLanguage

String

Min length: 1, Max length: 8

Required for authenticationType:

ADD_CARD,

VERIFY_CARDHOLDER,

PAYMENT,

INSTALLMENT_PAYMENT,

COF_INITIAL,

RECURRING_INITIAL

This field contains the cardholder’s browser language as defined in IETF BCP 47.

browserScreenHeight

String

Min length: 1, Max length: 6

Regexp: ^[0-9]{1,6}$

Required for authenticationType:

ADD_CARD,

VERIFY_CARDHOLDER,

PAYMENT,

INSTALLMENT_PAYMENT,

COF_INITIAL,

RECURRING_INITIAL

This field contains the total height of the cardholder’s screen in pixels.

browserScreenWidth

String

Min length: 1, Max length: 6

Regexp: ^[0-9]{1,6}$

Required for authenticationType:

ADD_CARD,

VERIFY_CARDHOLDER,

PAYMENT,

INSTALLMENT_PAYMENT,

COF_INITIAL,

RECURRING_INITIAL

This field contains the total width of the cardholder’s screen in pixels.

browserTimeZone

String

Min length: 1, Max length: 5

Regexp: ^[+-]?[0-9]{1,4}$

Required for authenticationType:

ADD_CARD,

VERIFY_CARDHOLDER,

PAYMENT,

INSTALLMENT_PAYMENT,

COF_INITIAL,

RECURRING_INITIAL

This field contains the difference between UTC time and the cardholder’s browser local time in minutes.

browserUserAgent

String

Max length: 2048

Required for authenticationType:

ADD_CARD,

VERIFY_CARDHOLDER,

PAYMENT,

INSTALLMENT_PAYMENT,

COF_INITIAL,

RECURRING_INITIAL

This field contains the exact content of the HTTP User-Agent header.

browserJavaEnabledVal

String

Required for authenticationType:

ADD_CARD,

VERIFY_CARDHOLDER,

PAYMENT,

INSTALLMENT_PAYMENT,

COF_INITIAL,

RECURRING_INITIAL

This field contains a value representing the ability of the cardholder’s browser to execute Java. Enumerated values: NOT_PRESENT, ENABLED, DISABLED.

Required if browserJavascriptEnabled is true

cardholderEmail

String

This field contains the cardholder email address.

cardholderHomePhone

String

Optional. Must match regex \d{1,3}-[1-9]\d{1,14}$

This field contains the home phone number provided by the cardholder. Phone numbers must be specified in the following format: CountryCode-Subscriber (e.g. 1-1234567899)

cardholderMobilePhone

String

Optional. Must match regex \d{1,3}-[1-9]\d{1,14}$

This field contains the mobile phone number provided by the cardholder. Phone numbers must be specified in the following format: CountryCode-Subscriber (e.g. 1-1234567899)

cardholderWorkPhone

String

Optional. Must match regex \d{1,3}-[1-9]\d{1,14}$

This field contains the work phone number provided by the cardholder. Phone numbers must be specified in the following format: CountryCode-Subscriber (e.g. 1-1234567899)

browserIPAddress

String

@Must not be null, Max length: 45

Required for authenticationType:

ADD_CARD,

VERIFY_CARDHOLDER,

PAYMENT,

INSTALLMENT_PAYMENT,

COF_INITIAL,

RECURRING_INITIAL

This field contains the IP address of the cardholder’s browser as returned by the HTTP headers.

browserJavaScriptEnabled

String

Required for authenticationType:

ADD_CARD,

VERIFY_CARDHOLDER,

PAYMENT,

INSTALLMENT_PAYMENT,

COF_INITIAL,

RECURRING_INITIAL

This field contains a value representing the ability of the cardholder’s browser to execute JavaScript. Enumerated values: ENABLED, DISABLED.

browserScreenColorDepth

String

Required for authenticationType:

ADD_CARD,

VERIFY_CARDHOLDER,

PAYMENT,

INSTALLMENT_PAYMENT,

COF_INITIAL,

RECURRING_INITIAL

This field contains a value representing the bit depth of the color palette, in bits per pixel, for displaying images. Obtained from Cardholder browser using the screen.colorDepth property. Values accepted:

1 = 1 bit,

4 = 4 bits,

8 = 8 bits,

15 = 15 bits,

16 = 16 bits,

24 = 24 bits,

32 = 32 bits,

48 = 48 bits

recurringExpDate

String

@Must not be null only for authenticationType = RECURRING_INITIAL

This field contains the date after which no further authorizations shall be performed. The format of this field must be: YYYYMMDD

recurringFrequency

String

@Must not be null only for authenticationType = RECURRING_INITIAL

The number of days between recurring payments. This field indicates the minimum number of days between authorizations.

recurringInitialTransactionXId

String

@Must not be null only for authenticationType = RECURRING_SUBSEQUENT

This field indicates the transactionXid from recurring initial authentication.

instalmentPaymentData

String

@Must not be null only for authenticationType = INSTALLMENT_PAYMENT

Max authorizations permitted for installment payments Indicates maximum number of authorizations permitted for installment payments. Required in AReq messages if the Merchant and Cardholder have agree to installment payments ( authenticationType = INSTALLMENT_PAYMENT). Value must be greater than 1.

3.2.2. Response

200 OK without challenge
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 280

{
  "requestUuid" : "9e1f8115-79bc-4513-bcbe-5c961f91e6bd",
  "transactionStatus" : "Y",
  "transactionXId" : "97e5aec9-45ab-4185-b5ef-bcabc5569da0",
  "cavv" : "B5gQCElHgQAAAAAKmFNEdQAAAAA=",
  "eci" : "06",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}

Unresolved directive in 3DSAPI/threeDSV2VerificationMethod.adoc - include::/var/lib/jenkins/workspace/processor_staging/processor_hub-staging/target/generated-snippets/ThreeDsV2/authentication3DSV2/response-fields-beneath-result.adoc[]

200 OK with challenge
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 777

{
  "requestUuid" : "185cb742-8064-4221-a54a-5053efc58d55",
  "transactionStatus" : "C",
  "acsurl" : "acsurl.com",
  "creq" : "c29tZSBjcmVx",
  "challengeHtmlFormBase64" : "PGh0bWw+PFNDUklQVCBMQU5HVUFHRT0iSmF2YXNjcmlwdCI+ZnVuY3Rpb24gT25Mb2FkRXZlbnQoKXsgZG9jdW1lbnQuZG93bmxvYWRGb3JtLnN1Ym1pdCgpOyB9PC9TQ1JJUFQ+PGJvZHkgT25Mb2FkPSJPbkxvYWRFdmVudCgpOyI+PGZvcm0gbmFtZT0iZG93bmxvYWRGb3JtIiBhY3Rpb249Imh0dHBzOi8vYWNzdGVzdC5jb20iIG1ldGhvZD0iUE9TVCI+PElOUFVUIHR5cGU9ImhpZGRlbiIgbmFtZT0iY3JlcSIgdmFsdWU9ImNyZXEiPjxJTlBVVCB0eXBlPSJoaWRkZW4iIG5hbWU9InRocmVlRFNTZXNzaW9uRGF0YSIgdmFsdWU9InNvbWVFbmNvZGVkRGF0ZSI+PC9mb3JtPjwvYm9keT48L2h0bWw+",
  "threeDSSessionData" : "ZGY0NDJhODQtOGJkZS00MmQ3LWExMTUtMzUyNjNlZGY1MGFk",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}

Unresolved directive in 3DSAPI/threeDSV2VerificationMethod.adoc - include::/var/lib/jenkins/workspace/processor_staging/processor_hub-staging/target/generated-snippets/ThreeDsV2/authenticationChallenge3DSV2/response-fields-beneath-result.adoc[]

422 UNPROCESSABLE_ENTITY
HTTP/1.1 500 Internal Server Error
Content-Type: application/json
Content-Length: 227

{
  "requestUuid" : "6e677577-61ff-4e23-8b83-778bddc462c0",
  "status" : "E03000",
  "message" : "Error mpi V2 - failed internal",
  "httpStatus" : "INTERNAL_SERVER_ERROR",
  "traceId" : "d19e0b4a-efec-4914-bd73-678b5938056f"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

status

String

Response code from Fenige system

traceId

String

Unique id for this http request register in system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

500 INTERNAL_SERVER_ERROR
HTTP/1.1 500 Internal Server Error
Content-Type: application/json
Content-Length: 227

{
  "requestUuid" : "6e677577-61ff-4e23-8b83-778bddc462c0",
  "status" : "E03000",
  "message" : "Error mpi V2 - failed internal",
  "httpStatus" : "INTERNAL_SERVER_ERROR",
  "traceId" : "d19e0b4a-efec-4914-bd73-678b5938056f"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

status

String

Response code from Fenige system

traceId

String

Unique id for this http request register in system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

3.3. Authentication Details

GET /processor/3ds/details/{uuid} Content Type: application/json, Authorization: Basic Auth
Method return details for authentication.
Success 3-D Secure Authentication. MPI return status:
Y (Full Authentication) - The customer was successfully authenticated.

Attempt 3-D Secure Authentication. MPI return status:
A (Successful Attempted Authentication) - Authentication was not available, but functionality was available to generate a proof of authentication attempt.

Challenge required
C Cardholder challenge required.
D Challenge required; decoupled authentication confirmed.

Information only
I Informational only; 3DS Requestor challenge preference acknowledged.

Error 3-D Secure Authentication results. MPI return one of statuses:
N (Authentication Failed) - The customer failed authentication, and the transaction is denied. The cardholder’s password (or other authentication information) failed validation, thus, the issuer is not able to authenticate the cardholder.
U (Unable to Complete Authentication) - Authentication could not be performed due to technical or other problems.
R Not authenticated because the issuer is rejecting authentication.

3.3.1. Request

GET /processor/3ds/details/dbdfc5d9-4401-4222-8ecb-761a97f65c1f HTTP/1.1
Authorization: Basic bmFtZTpwYXNzd29yZA==
Host: processor-staging.fenige.pl
Table 16. /processor/3ds/details/{cardAuthenticationId}
Parameter Description

cardAuthenticationId

Unique identifier for 3ds verification

3.3.2. Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 411

{
  "cardAuthenticationId" : "a0d74af3-1182-4236-873d-654780145529",
  "provider" : "MASTERCARD",
  "transactionStatus" : "Y",
  "cardAuthenticationStatus" : "AUTHENTICATION_FINISHED",
  "transactionXId" : "0e78a5d9-55ef-4ae6-8c19-b95decaecfd8",
  "cavv" : "jEu04WZns7pbARAApU4qgNdJTag",
  "eci" : "01",
  "transactionStatusReason" : "04",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}

Unresolved directive in 3DSAPI/threeDSV2VerificationMethod.adoc - include::/var/lib/jenkins/workspace/processor_staging/processor_hub-staging/target/generated-snippets/ThreeDsV2/authenticationDetails3DSV2/response-fields-beneath-result.adoc[]

4. 3DS 2.X registration methods

Methods for registration merchants in 3ds 2.X Mastercard system. Endpoints use dedicated credentials created for these methods.
With the webhooks functionality, your endpoint will be notified when the merchant registration status changes. The HTTP success code means that your request is processing in
Fenige system, you need to wait to get response from webhook to be sure the request was successful.

4.1. Add merchant

POST /3ds/processor/registration Content Type: application/json, Authorization: Basic Auth
Method to initiate 3ds registation process. Expect a list of merchants with a unique name and id to be registered.

4.1.1. Request

POST /3ds/processor/registration HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 528
Host: processor-staging.fenige.pl

{
   "requestUuid":"9f134f9f-bca5-41e9-12e6-212b40e1668f",
   "merchants":[
      {
         "merchantId": "E2000000000001",
         "merchantName": "Merchant Name",
         "identityCheckExpress": "N",
         "whiteListName": "name"
      },
      {
         "merchantId": "E2000000000002",
         "merchantName": "Next Merchant Name",
         "identityCheckExpress": "N",
         "whiteListName": "name"
      }
   ]
}
Path Type Constraints Description

requestUuid

String

@Must not be null

Request’s unique uuid in system

merchantId

String

@Must not be null, @Max length: 35

Unique merchant id in system

merchantName

String

@Must not be null, @Max length: 40

Unique merchant name in system

whiteListName

String

@Optional, @Max length: 50

WhiteList Name will allow Acquirer`s to assign a general name to be displayed for companies that may have multiple merchant names. Users must include a Whitelisting name already stored in ISSM Records

identityCheckExpress

String

@Must be Y or N

Identity check express extends the identity check program with a solution whereby the cardholder is authenticated by the merchant providing a more seamless experience to cardholder without chance of step up. An on-behalf service for issuers, the service leverages the FIDO standard to provide more comprehensive proof of authentication during the transaction and includes insights from the risk-based assessment during authorization as additional context

4.1.2. Response

200 OK
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 105

{
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK",
  "requestUuid" : "716333e9-ed1d-4e59-89e0-34e423d7aab0"
}
Path Type Description

status

String

Response code from Fenige system.

message

String

Message for response code from Fenige system.

httpStatus

String

Response http status.

requestUuid

String

Request’s unique uuid in system.

400 BAD REQUEST
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:26 GMT
Connection: close
Content-Length: 640

{
  "errors" : {
    "merchantId" : [ "must not be null, max length: 35" ],
    "merchantName" : [ "must not be null, max length: 40" ],
    "identityCheckExpress" : [ "must be Y or N" ],
    "acquirerBin" : [ "must not be null, length: 6" ]
    "requestUuid" : [ "must not be null" ]
  },
  "status" : "E80000",
  "httpStatus" : "BAD_REQUEST",
  "traceId" : "77caa1c3-df03-4e07-bfa6-b4b2d91b53f0"
}
Path Type Description

status

String

Response code from Fenige system.

message

String

Message for response code from Fenige system.

httpStatus

String

Response http status.

401 UNAUTHORIZED
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "timestamp": "2020-06-01T07:17:31.968+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "3ds/processor/registration"
}
Path Type Description

timestamp

String

Time stamp.

status

Number

Response code from Fenige system.

error

String

Response http status.

message

String

Message for response code from Fenige system.

path

String

Path.

422 UNPROCESSABLE ENTITY
HTTP Response - STATUS: E03100
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "013961a7-4181-42e2-930d-9494f96b54e6",
    "status": "E03100",
    "message": "Registration rejected, merchantId and merchantName already exist(together)",
    "httpStatus": "UNPROCESSABLE_ENTITY"
}
HTTP Response - STATUS: E03101
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "013961a7-4181-42e2-930d-9494f96b54e6",
    "status": "E03101",
    "message": "Request uuid is not unique",
    "httpStatus": "UNPROCESSABLE_ENTITY"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

status

String

Response code from Fenige system.

message

String

Message for response code from Fenige system.

httpStatus

String

Response http status.

500 INTERNAL SERVER ERROR
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "status": "E90000",
    "message": "Domain error",
    "httpStatus": "INTERNAL_SERVER_ERROR"
}
Path Type Description

status

String

Response code from Fenige system.

message

String

Message for response code from Fenige system.

httpStatus

String

Response http status.

4.2. Edit merchant

PUT /3ds/processor/registration Content Type: application/json, Authorization: Basic Auth
The method is implemented using delete and add operations in the Mastercard system.

4.2.1. Request

PUT /3ds/processor/registration HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 528
Host: processor-staging.fenige.pl

{
   "requestUuid":"9f134f9f-bca5-41e9-12e6-212b40e1668f",
   "oldMerchant":{
      "merchantId": "E2000000000001",
      "merchantName": "Merchant Name",
      "identityCheckExpress": "N",
      "deleteReason": "DATA_ENTRY_ERROR",
      "whiteListName": "name"
   },
   "newMerchant": {
      "merchantId": "E2000000000001",
      "merchantName": "New Merchant Name",
      "identityCheckExpress": "N",
      "whiteListName": "name"
   }
}
Path Type Constraints Description

requestUuid

String

@Must not be null

Request’s unique uuid in system

oldMerchant.merchantId

String

@Must not be null, @Max length: 35

Old unique merchant id in system

oldMerchant.merchantName

String

@Must not be null, @Max length: 40

Old unique merchant name in system

oldMerchant.deleteReason

String

@Must be one of: DATA_ENTRY_ERROR, MERCHANT_NO_LONGER_PARTICIPATING, ACQUIRER_BIN_CHANGE, ACQUIRER_PRIMARY_ICA_CHANGE or OTHER

Reason for deleting the merchant

newMerchant.merchantId

String

@Must not be null, @Max length: 35

New unique merchant id in system, could be the same as old one

newMerchant.merchantName

String

@Must not be null, @Max length: 40

New unique merchant name in system

whiteListName

String

@Optional, @Max length: 50

WhiteList Name will allow Acquirer`s to assign a general name to be displayed for companies that may have multiple merchant names. Users must include a Whitelisting name already stored in ISSM Records

identityCheckExpress

String

@Must be Y or N

Identity check express extends the identity check program with a solution whereby the cardholder is authenticated by the merchant providing a more seamless experience to cardholder without chance of step up. An on-behalf service for issuers, the service leverages the FIDO standard to provide more comprehensive proof of authentication during the transaction and includes insights from the risk-based assessment during authorization as additional context

4.2.2. Response

200 OK
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 105

{
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK",
  "requestUuid" : "716333e9-ed1d-4e59-89e0-34e423d7aab0"
}
Path Type Description

status

String

Response code from Fenige system.

message

String

Message for response code from Fenige system.

httpStatus

String

Response http status.

requestUuid

String

Request’s unique uuid in system.

400 BAD REQUEST
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:26 GMT
Connection: close
Content-Length: 640

{
  "errors" : {
    "oldMerchant.merchantId" : [ "must not be null, max length: 35" ],
    "oldMerchant.merchantName" : [ "must not be null, max length: 40" ],
    "newMerchant.merchantId" : [ "must not be null, max length: 35" ],
    "newMErchant.merchantName" : [ "must not be null, max length: 40" ],
    "newMerchant.identityCheckExpress" : [ "must be Y or N" ],
    "acquirerBin" : [ "must not be null, length: 6" ],
    "requestUuid" : [ "must not be null" ]
  },
  "status" : "E80000",
  "httpStatus" : "BAD_REQUEST",
  "traceId" : "77caa1c3-df03-4e07-bfa6-b4b2d91b53f0"
}
Path Type Description

status

String

Response code from Fenige system.

message

String

Message for response code from Fenige system.

httpStatus

String

Response http status.

401 UNAUTHORIZED
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "timestamp": "2020-06-01T07:17:31.968+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "3ds/processor/registration"
}
Path Type Description

timestamp

String

Time stamp.

status

Number

Response code from Fenige system.

error

String

Response http status.

message

String

Message for response code from Fenige system.

path

String

Path.

422 UNPROCESSABLE ENTITY
HTTP Response - STATUS: E03100
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "013961a7-4181-42e2-930d-9494f96b54e6",
    "status": "E03100",
    "message": "Registration rejected, merchantId and merchantName already exist(together)",
    "httpStatus": "UNPROCESSABLE_ENTITY"
}
HTTP Response - STATUS: E03101
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "013961a7-4181-42e2-930d-9494f96b54e6",
    "status": "E03101",
    "message": "Request uuid is not unique",
    "httpStatus": "UNPROCESSABLE_ENTITY"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

status

String

Response code from Fenige system.

message

String

Message for response code from Fenige system.

httpStatus

String

Response http status.

500 INTERNAL SERVER ERROR
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "status": "E90000",
    "message": "Domain error",
    "httpStatus": "INTERNAL_SERVER_ERROR"
}
Path Type Description

status

String

Response code from Fenige system.

message

String

Message for response code from Fenige system.

httpStatus

String

Response http status.

4.3. Delete merchant

DELETE /3ds/processor/registration Content Type: application/json, Authorization: Basic Auth
Method to remove merchant from the Mastercard system.

4.3.1. Request

DELETE /3ds/processor/registration HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 528
Host: processor-staging.fenige.pl

{
    "requestUuid": "9f134f9f-bca5-41e9-12e6-212b40e1668f",
    "merchant": {
        "merchantId": "E2000000000001",
        "merchantName": "Merchant Name",
        "identityCheckExpress": "N",
        "deleteReason": "DATA_ENTRY_ERROR",
        "whiteListName": "name"
    }
}
Path Type Constraints Description

requestUuid

String

@Must not be null

Request’s unique uuid in system

merchantId

String

@Must not be null, @Max length: 35

Unique merchant id in system

merchantName

String

@Must not be null, @Max length: 40

Unique merchant name in system

whiteListName

String

@Optional, @Max length: 50

WhiteList Name will allow Acquirer`s to assign a general name to be displayed for companies that may have multiple merchant names. Users must include a Whitelisting name already stored in ISSM Records

deleteReason

String

@Must be one of: DATA_ENTRY_ERROR, MERCHANT_NO_LONGER_PARTICIPATING, ACQUIRER_BIN_CHANGE, ACQUIRER_PRIMARY_ICA_CHANGE or OTHER

Reason for deleting the merchant

identityCheckExpress

String

@Must be Y or N

Identity check express extends the identity check program with a solution whereby the cardholder is authenticated by the merchant providing a more seamless experience to cardholder without chance of step up. An on-behalf service for issuers, the service leverages the FIDO standard to provide more comprehensive proof of authentication during the transaction and includes insights from the risk-based assessment during authorization as additional context

4.3.2. Response

200 OK
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 105

{
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK",
  "requestUuid" : "716333e9-ed1d-4e59-89e0-34e423d7aab0"
}
Path Type Description

status

String

Response code from Fenige system.

message

String

Message for response code from Fenige system.

httpStatus

String

Response http status.

requestUuid

String

Request’s unique uuid in system.

400 BAD REQUEST
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:26 GMT
Connection: close
Content-Length: 640

{
  "errors" : {
    "merchantId" : [ "must not be null, max length: 35" ],
    "merchantName" : [ "must not be null, max length: 40" ],
    "identityCheckExpress" : [ "must be Y or N" ],
    "acquirerBin" : [ "must not be null, length: 6" ],
    "requestUuid" : [ "must not be null" ]
  },
  "status" : "E80000",
  "httpStatus" : "BAD_REQUEST",
  "traceId" : "77caa1c3-df03-4e07-bfa6-b4b2d91b53f0"
}
Path Type Description

status

String

Response code from Fenige system.

message

String

Message for response code from Fenige system.

httpStatus

String

Response http status.

401 UNAUTHORIZED
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "timestamp": "2020-06-01T07:17:31.968+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "3ds/processor/registration"
}
Path Type Description

timestamp

String

Time stamp.

status

Number

Response code from Fenige system.

error

String

Response http status.

message

String

Message for response code from Fenige system.

path

String

Path.

422 UNPROCESSABLE ENTITY
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "013961a7-4181-42e2-930d-9494f96b54e6",
    "status": "E03101",
    "message": "Request uuid is not unique",
    "httpStatus": "UNPROCESSABLE_ENTITY"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

status

String

Response code from Fenige system.

message

String

Message for response code from Fenige system.

httpStatus

String

Response http status.

500 INTERNAL SERVER ERROR
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "status": "E90000",
    "message": "Domain error",
    "httpStatus": "INTERNAL_SERVER_ERROR"
}
Path Type Description

status

String

Response code from Fenige system.

message

String

Message for response code from Fenige system.

httpStatus

String

Response http status.

5. Webhooks

General information

To use the webhooks functionality, you must notify Fenige Sales Department by email. Then an URL address and a secret token will be configured, thanks to which communication between the Fenige side and the client side will be more secure. After configuring the above-mentioned properties, you will receive Secret Token and then you can handle webhooks from the Fenige system. The URL must be specified by the client, requests from the Fenige system will be directed to this address. The Secret Token will be set by the Fenige employee and sent to the client.

webhook
Figure 2. In the picture above you can see basic idea of this webhook/event
Your server after receiving Webhook Event must return HTTP status 200 OK. Otherwise, the Fenige server will retry the request. There is 3 attempts for requesting your API. Repeated requests will be executing in 5 seconds intervals excluding timeout from client server.
In order to protect client API by polling or other undesirable actions, the Fenige system uses headers. If you want to use Webhook events, you need to do the header handling on your side.
Thanks to the 'X-MERCHANT-SECRET' header you can compare the hash on your backend side to eliminate attempts of unwanted requests. To build 'X-MERCHANT-SECRET' header: + 1. Concatenate secret token established by you and Fenige’s employee with controlUuid from received request body of callback event + 2. Hash with SHA256 function result of above operation
Example of 'X-MERCHANT-SECRET' building
import hashlib

# secret token established by client with fenige employee
secret = 'mNaU9TaK4m9myYYFBJgKu8slNH2fCKutJyzXwI'
# controlUuid received from webhook's request
controlUuid = 'c168a885-acfa-4a91-a1ad-ed7a042b7238'

# concatenate strings in correct order
concatenated = secret + controlUuid

# use SHA256 hashing function
hashed = hashlib.sha256(concatenated.encode('utf-8')).hexdigest()

# then compare 'hashed' variable with content of 'X-MERCHANT-SECRET' header

5.1. 3DS 2.X registration

Method: HTTP POST + Your endpoint will be notified when the registration status changes. This event allows you to eliminate unnecessary network traffic and polling the API for registration status.

5.1.1. 3DS 2.X registration webhook request body

When registration was correctly approved
Content-Type: application/json
X-MERCHANT-SECRET: 3cbd17f561150a1394cabbe2b6031fd83f3f3081abe28c32b7fed16f32aebc4a
X-MERCHANT-TIMESTAMP: 1614800720

{
  "controlUuid": "e28f7423-ae21-44bb-b27e-a2038cb29181",
  "status": "APPROVED",
  "message": "SUCCESS",
  "requestUuids": [
    "d3b767cd-5fde-4901-beb6-f6260fa657ad",
    "18b900ba-8d4e-11eb-8dcd-0242ac130003"
  ]
}
When registration was rejected
Content-Type: application/json
X-MERCHANT-SECRET: 3cbd17f561150a1394cabbe2b6031fd83f3f3081abe28c32b7fed16f32aebc4a
X-MERCHANT-TIMESTAMP: 1614800720

{
  "controlUuid": "e28f7423-ae21-44bb-b27e-a2038cb29181",
  "status": "DECLINED",
  "message": "Problem with merchant registration in mastercard",
  "requestUuids": [
    "d3b767cd-5fde-4901-beb6-f6260fa657ad",
    "18b900ba-8d4e-11eb-8dcd-0242ac130003"
  ]
}
Table 17. Headers description
Path Type Rule Description

X-MERCHANT-SECRET

String

Always present

SHA256 Hash string composed from secret token and requestUuid placed in request body of this webhook

X-MERCHANT-TIMESTAMP

Numeric string

Always present

Timestamp of server response in UNIX format for instance: 1614023731

Table 18. Request fields description
Path Type Rule Description

controlUuid

UUID

Always present

Unique identifier of request body, assigned by Fenige server for security purposes

requestUuids

List<UUID>

Always present

Unique identifier of registration requests

status

String

Always present

Status of registration in Fenige system

message

String

Optional

Additional message

6. Payment API

6.1. Currency for card

POST /processor/currency-for-card Content Type: application/json, Authorization: Basic Auth
Method is used to determine currencies applied for particular card.

6.1.1. Request

POST /processor/currency-for-card HTTP/1.1
Authorization: Basic bmFtZTpwYXNzd29yZA==
Content-Type: application/json
Content-Length: 97
Host: processor-staging.fenige.pl

{
  "requestUuid" : "7d4e8a3f-72d7-4657-83f0-36588abaca2a",
  "cardNumber" : "5575168861324712"
}
Table 19. CURRENCY FOR CARD REQUEST FIELDS
Path Type Constraints Description

requestUuid

String

@Must not be null

Request’s unique uuid in system

cardNumber

String

@Must be a number and length must be between 12 and 19, @Luhn

Transaction card number used in verification process

6.1.2. Response

200 OK Mastercard

Unresolved directive in PaymentAPI/currencyForCardRequest.adoc - include::/var/lib/jenkins/workspace/processor_staging/processor_hub-staging/target/generated-snippets/currencyForCard/successCurrencyForCard/response-body-beneath-result.adoc[] Unresolved directive in PaymentAPI/currencyForCardRequest.adoc - include::/var/lib/jenkins/workspace/processor_staging/processor_hub-staging/target/generated-snippets/currencyForCard/successCurrencyForCard/response-fields-beneath-result.adoc[]

200 OK Visa

Unresolved directive in PaymentAPI/currencyForCardRequest.adoc - include::/var/lib/jenkins/workspace/processor_staging/processor_hub-staging/target/generated-snippets/currencyForCard/successCurrencyForCardVisa/response-body-beneath-result.adoc[] Unresolved directive in PaymentAPI/currencyForCardRequest.adoc - include::/var/lib/jenkins/workspace/processor_staging/processor_hub-staging/target/generated-snippets/currencyForCard/successCurrencyForCardVisaCurrencyUndefined/response-body-beneath-result.adoc[] Unresolved directive in PaymentAPI/currencyForCardRequest.adoc - include::/var/lib/jenkins/workspace/processor_staging/processor_hub-staging/target/generated-snippets/currencyForCard/successCurrencyForCardVisa/response-fields-beneath-result.adoc[]

401 UNAUTHORIZED
HTTP Response - STATUS: E80002
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "timestamp": "2020-06-01T12:29:01.246+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/processor/currency-for-card"
}
Table 20. Response fields
Path Type Description

timestamp

String

Time stamp

status

Number

Response code from Fenige system

error

String

Response http status

message

String

Message for response code from Fenige system

path

String

Path

404 NOT FOUND
HTTP/1.1 404 Not Found
Content-Type: application/json
Content-Length: 203

{
  "requestUuid" : "7d4e8a3f-72d7-4657-83f0-36588abaca2a",
  "status" : "E00143",
  "message" : "Currency not found",
  "httpStatus" : "NOT_FOUND",
  "traceId" : "14526223-4006-42c5-b0b0-d4f3251425e6"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Id of error trace

500 INTERNAL SERVER ERROR
HTTP/1.1 500 Internal Server Error
Content-Type: application/json
Content-Length: 209

{
  "requestUuid" : "7d4e8a3f-72d7-4657-83f0-36588abaca2a",
  "status" : "E90000",
  "message" : "Domain error",
  "httpStatus" : "INTERNAL_SERVER_ERROR",
  "traceId" : "346f2ac3-61b7-40ba-ac44-d4b1c0ae74c7"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Id of error trace

503 SERVICE UNAVAILABLE
HTTP/1.1 503 Service Unavailable
Content-Type: application/json
Content-Length: 220

{
  "requestUuid" : "7d4e8a3f-72d7-4657-83f0-36588abaca2a",
  "status" : "E90001",
  "message" : "Error acquirer connection",
  "httpStatus" : "SERVICE_UNAVAILABLE",
  "traceId" : "97cf054e-7bae-484b-b623-ab584df1b20b"
}
HTTP/1.1 503 Service Unavailable
Content-Type: application/json
Content-Length: 215

{
  "requestUuid" : "7d4e8a3f-72d7-4657-83f0-36588abaca2a",
  "status" : "E90002",
  "message" : "Error mpi connection",
  "httpStatus" : "SERVICE_UNAVAILABLE",
  "traceId" : "77ddf700-d0af-475b-bf06-3fc6a33ea9f3"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Id of error trace

6.2. Currency rate

POST /processor/currency-rate Content Type: application/json, Authorization: Basic Auth
Method is used for determine currency rate for revaluation from funding to payment (lowerRate) and payment to funding (higherRate).
Notice that `lowerRate` is used to transaction processing.
Api Send-money allows users to select the direction of revaluation by providing specify type value in send-money request.
1 - User by selecting type = SENDER defines amount of funding in given currency. This amount is collected from sender card in selected currency.
2 - User by selecting type = RECEIVER defines amount of payment in given currency. This amount is transferred to receiver card in selected currency.
In case there's need revaluation from one currency to another, system uses lowerRate for situation 1 and higherRate for situation 2.

6.2.1. Request

POST /processor/currency-rate HTTP/1.1
Authorization: Basic bmFtZTpwYXNzd29yZA==
Content-Type: application/json
Content-Length: 166
Host: processor-staging.fenige.pl

{
  "requestUuid" : "3a209ea4-9862-447f-a90b-347013261416",
  "provider" : "MASTERCARD",
  "from" : "USD",
  "to" : "PLN",
  "effectiveDate" : "2024-04-20 01:31:34"
}
Table 21. CURRENCY RATE REQUEST FIELDS
Path Type Constraints Description

requestUuid

String

@Must not be null

Request’s unique uuid in system

provider

String

@Must not be null

VISA or MASTERCARD or MAESTRO

from

String

@Must not be null @Must not be UNDEFINED

Currency code for conversion

to

String

@Must not be null @Must not be UNDEFINED

Target currency of conversion

effectiveDate

String

Date from which the currency rate is needed. This is optional field. When there is no effectiveDate field, then currency rate is getting from request date. (Format "yyyy-MM-ddHH:mm:ss")

6.2.2. Response

200 OK (Mastercard)

Unresolved directive in PaymentAPI/currencyRateRequest.adoc - include::/var/lib/jenkins/workspace/processor_staging/processor_hub-staging/target/generated-snippets/currencyRate/successCurrencyRateMastercard/response-body-beneath-result.adoc[] Unresolved directive in PaymentAPI/currencyRateRequest.adoc - include::/var/lib/jenkins/workspace/processor_staging/processor_hub-staging/target/generated-snippets/currencyRate/successCurrencyRateMastercard/response-fields-beneath-result.adoc[]

200 OK (Maestro)

Unresolved directive in PaymentAPI/currencyRateRequest.adoc - include::/var/lib/jenkins/workspace/processor_staging/processor_hub-staging/target/generated-snippets/currencyRate/successCurrencyRateMaestro/response-body-beneath-result.adoc[] Unresolved directive in PaymentAPI/currencyRateRequest.adoc - include::/var/lib/jenkins/workspace/processor_staging/processor_hub-staging/target/generated-snippets/currencyRate/successCurrencyRateMaestro/response-fields-beneath-result.adoc[]

200 OK (VISA)

Unresolved directive in PaymentAPI/currencyRateRequest.adoc - include::/var/lib/jenkins/workspace/processor_staging/processor_hub-staging/target/generated-snippets/currencyRate/successCurrencyRateVisa/response-body-beneath-result.adoc[] Unresolved directive in PaymentAPI/currencyRateRequest.adoc - include::/var/lib/jenkins/workspace/processor_staging/processor_hub-staging/target/generated-snippets/currencyRate/successCurrencyRateVisa/response-fields-beneath-result.adoc[]

401 UNAUTHORIZED
HTTP Response - STATUS: E80002
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "timestamp": "2020-06-01T12:29:01.246+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/processor/currency-rate"
}
Table 22. Response fields
Path Type Description

timestamp

String

Time stamp

status

Number

Response code from Fenige system

error

String

Response http status

message

String

Message for response code from Fenige system

path

String

Path

404 NOT FOUND
HTTP/1.1 404 Not Found
Content-Type: application/json
Content-Length: 203

{
  "requestUuid" : "3a209ea4-9862-447f-a90b-347013261416",
  "status" : "E00143",
  "message" : "Currency not found",
  "httpStatus" : "NOT_FOUND",
  "traceId" : "9314e01e-309c-4e63-b6b8-236b0842156f"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Id of error trace

500 INTERNAL SERVER ERROR
HTTP/1.1 500 Internal Server Error
Content-Type: application/json
Content-Length: 209

{
  "requestUuid" : "3a209ea4-9862-447f-a90b-347013261416",
  "status" : "E90000",
  "message" : "Domain error",
  "httpStatus" : "INTERNAL_SERVER_ERROR",
  "traceId" : "f999cb25-40f9-4914-9fc6-44ab7907f14f"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Id of error trace

503 SERVICE UNAVAILABLE
HTTP/1.1 503 Service Unavailable
Content-Type: application/json
Content-Length: 220

{
  "requestUuid" : "3a209ea4-9862-447f-a90b-347013261416",
  "status" : "E90001",
  "message" : "Error acquirer connection",
  "httpStatus" : "SERVICE_UNAVAILABLE",
  "traceId" : "d3b7c75d-083c-4a05-a162-b3afc4295da0"
}
HTTP/1.1 503 Service Unavailable
Content-Type: application/json
Content-Length: 215

{
  "requestUuid" : "3a209ea4-9862-447f-a90b-347013261416",
  "status" : "E90002",
  "message" : "Error mpi connection",
  "httpStatus" : "SERVICE_UNAVAILABLE",
  "traceId" : "36f41073-d1da-49c0-8945-75002ff7993b"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Id of error trace

6.3. Card provider

POST /processor/card/provider Content Type: application/json, Authorization: Basic Auth
This method is used to check the card provider, for example: VISA or MASTERCARD.

6.3.1. Request

POST /processor/card/provider HTTP/1.1
Authorization: Basic bmFtZTpwYXNzd29yZA==
Content-Type: application/json
Content-Length: 97
Host: processor-staging.fenige.pl

{
  "requestUuid" : "41181683-c12c-497d-b4e3-71d0d783340b",
  "cardNumber" : "5117964247989169"
}
Table 23. Request headers
Name Description

Authorization

Basic auth credentials for PSP

Table 24. Request fields
Path Type Constraints Description

requestUuid

String

@Must not be null

@Must not be null

cardNumber

String

@Must not be empty, @Must not be null, @Must pass the Luhn Modulo 10 checksum algorithm

PAN card number

6.3.2. Response

200 OK
HTTP Response - STATUS: S0000
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 160

{
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK",
  "requestUuid" : "41181683-c12c-497d-b4e3-71d0d783340b",
  "provider" : "MASTERCARD"
}
Table 25. Response fields
Path Type Description

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

requestUuid

String

Request’s unique uuid in system

provider

String

Card’s provider

401 UNAUTHORIZED
HTTP Response - STATUS: E80002
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "timestamp": "2020-06-01T12:29:01.246+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/processor/card/provider"
}
Table 26. Response fields
Path Type Description

timestamp

String

Time stamp

status

Number

Response code from Fenige system

error

String

Response http status

message

String

Message for response code from Fenige system

path

String

Path

500 INTERNAL SERVER ERROR
HTTP Response - STATUS: E90000
HTTP/1.1 500 Internal Server Error
Content-Type: application/json
Content-Length: 151

{
  "status" : "E90000",
  "message" : "Domain error",
  "httpStatus" : "INTERNAL_SERVER_ERROR",
  "traceId" : "ee07aa70-6976-49b0-bbf4-ade1fb965426"
}
Table 27. Response fields
Path Type Description

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Id of trace

503 SERVICE UNAVAILABLE
HTTP Response - STATUS: E90002
HTTP/1.1 503 Service Unavailable
Content-Type: application/json
Content-Length: 157

{
  "status" : "E90002",
  "message" : "Error mpi connection",
  "httpStatus" : "SERVICE_UNAVAILABLE",
  "traceId" : "6388f4c2-eb88-4ad8-a9b8-1077452df214"
}
Table 28. Response fields
Path Type Description

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Id of trace

6.4. Payment

POST /processor/payments/auth Content Type: application/json, Authorization: Basic Auth
The method is used to charge the cardholder.
Using this method, we can authorize and process entire transaction. This method supports both 3DS and without 3DS transactions. You can also use this method using the outside 3ds authorization.
This endpoint is idempotent so if you execute more than one requests with the same data even at the same time, only first registered transaction will be processed further. In
response, we receive transaction status.
Payment with DCC (Dynamic Currency Conversion) transaction is a dynamic transaction amount conversion service available at payment terminals, enabling payment in the
currency of the country where the credit card was issued.
The difference between DCC payment and standard payment is on the side of the Acquirer, who must check the card's currencies and present them on request. The client chooses
from the available currencies (or the default currency is automatically selected). Then Acquirer performs a currency conversion on its side to the chosen currency and sends to FENIGE a request with a dcc object in which it places the converted amount in the currency chosen by the Client.
Payment with 3ds flow
3ds authorize payment request processor
Payment DCC with 3ds flow
3ds authorize payment dcc request processor

6.4.1. Request

Payment with 3ds flow
POST /processor/payments/auth HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 528
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "9c6d8759-6e51-4b3d-a739-6d684d8cb6e4",
  "requestUuid" : "1f3c4006-6d44-4810-8c26-5c4583ae1e69",
  "amount" : 1000,
  "currency" : "USD",
  "cardNumber" : "545313******4417",
  "expiryDate" : "11/22",
  "cvc2" : "123",
  "autoClear" : true,
  "networkProgram" : true,
  "merchant" : {
    "merchantId" : "ac107c31-6fa9-45ab-acff-f6df8fa48cd9",
    "companyName" : "Company Name",
    "city" : "Lublin",
    "country" : "PL",
    "homeNumber" : "10",
    "street" : "Merchant street",
    "streetNumber" : "11",
    "postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14"
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "6051",
    "cryptoCurrency" : true,
    "specialConditionIndicatorExistingDebt" : false,
    "terminalPanEntryMode" : "LOW_VALUE_PAYMENT",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
    "firstName" : "Mark",
    "lastName" : "Smith",
    "email" : "senderEmail@fenige.pl"
  },
  "outside3dsRequest" : {
    "authenticationStatus" : "Y",
    "cavv" : "jEu04WZns7pbARAApU4qgNdJTag=",
    "eci" : "02",
    "authenticationTime" : "20180703 16:55:28",
    "cavvAlgorithm" : "3",
    "transactionxId" : "124"
  }
}
Table 29. Authorize request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies)

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

cvc2

String

@Optional only for Google pay, @Length must be 3 characters

Cardholder’s card cvc2

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

terminal.cryptoCurrency

Boolean

true or false

Is the terminal cryptocurrency. Default value is false.

terminal.specialConditionIndicatorExistingDebt

Boolean

true or false

This field indicates the cardholder is making a payment on a debt. Default value is false.

terminal.terminalPanEntryMode

String

@Must match to one of LOW_VALUE_PAYMENT, ACQUIRER_LOW_FRAUD_AND_TRANSACTION_RISK_ANALYSIS, TRUSTED_MERCHANT_EXEMPTION, DELEGATED_AUTHENTICATION, SECURE_CORPORATE_PAYMENT or OUT_OF_SCOPE, can be null

OUT_OF_SCOPE - Country is outside EU

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

outside3dsRequest

Object

There are outside 3ds data authorization that have been send to our API. This is optional parameter. Without this parameter, transaction will be processed as a regular transaction without 3DS authorization.

outside3dsRequest.authenticationStatus

String

@must match Y or A or U, @Must not be null

Authentication status:

Y - (Full Authentication) - The customer was successfully authenticated.

A - (Successful Attempted Authentication) - Authentication was not available, but functionality was available to generate a proof of authentication attempt.

outside3dsRequest.cavv

String

@Must match the regular expression ^[j,h]{1}[\w,=]+$, @Size must be between 0 and 28 inclusive

Cardholder Authentication Verification Value

outside3dsRequest.eci

String

@Length must be between 1 and 2 inclusive, @Must match 00 or 01 or 02 or 05 or 06 or 07

Electronic Commerce Indicator: 5 (Visa) or 2 (SecureCode) - The cardholder was successfully authenticated. 6 (Visa) or 1 (SecureCode) - Authentication was attempted, but the cardholder was not enrolled. More info.

outside3dsRequest.authenticationTime

String

@Must be not null

Authentication date

outside3dsRequest.cavvAlgorithm

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Indicates the algorithm used to generate the AuthenticationCAVV value

0 - HMAC

1 - CVV

2 - CVV with ATN

3 - MasterCard SPA algorithm

outside3dsRequest.transactionxId

String

This field is required for 3DS 2.X, optional for 3DS 1.0

Payment DCC with 3ds flow
POST /processor/payments/auth HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 528
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "9c6d8759-6e51-4b3d-a739-6d684d8cb6e4",
  "requestUuid" : "1f3c4006-6d44-4810-8c26-5c4583ae1e69",
  "amount" : 1000,
  "currency" : "PLN",
  "cardNumber" : "545313******4417",
  "expiryDate" : "11/22",
  "cvc2" : "123",
  "autoClear" : true,
  "networkProgram" : true,
  "dcc":{
	"cardholderAmount" : 224,
	"cardholderCurrency" : "EUR",
	"conversionRateCardholder" : 0.2247541
  },
  "merchant" : {
    "merchantId" : "ac107c31-6fa9-45ab-acff-f6df8fa48cd9",
    "companyName" : "Company Name",
    "city" : "Lublin",
    "country" : "PL",
    "homeNumber" : "10",
    "street" : "Merchant street",
    "streetNumber" : "11",
    "postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14",
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
    "firstName" : "Mark",
    "lastName" : "Smith",
    "email" : "senderEmail@fenige.pl"
  },
  "outside3dsRequest" : {
    "authenticationStatus" : "Y",
    "cavv" : "jEu04WZns7pbARAApU4qgNdJTag=",
    "eci" : "02",
    "authenticationTime" : "20180703 16:55:28",
    "cavvAlgorithm" : "3",
    "transactionxId" : "124"
  }
}
Table 30. Authorize request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in transaction currency

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

cvc2

String

@Optional only for Google pay, @Length must be 3 characters

Cardholder’s card cvc2

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

dcc

Object

@Must not be null

There are dcc data that have been send to our API

dcc.cardholderAmount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in cardholder dcc currency

dcc.cardholderCurrency

String

@Must not be null

Currency of cardholder card (in accordance with ISO-4217), example: USD

dcc.conversionRateCardholder

BigDecimal

@Must not be null

The rate used to convert the transaction amount to the cardholder billing amount

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

terminal.terminalPanEntryMode

String

@Must match to one of LOW_VALUE_PAYMENT, ACQUIRER_LOW_FRAUD_AND_TRANSACTION_RISK_ANALYSIS, TRUSTED_MERCHANT_EXEMPTION, DELEGATED_AUTHENTICATION, SECURE_CORPORATE_PAYMENT or OUT_OF_SCOPE, can be null

OUT_OF_SCOPE - Country is outside EU

LOW_VALUE_PAYMENT - Country is EU and amount is less than 30 euro

ACQUIRER_LOW_FRAUD_AND_TRANSACTION_RISK_ANALYSIS - Country is EU and the amount is equal to or greater than 30 EUR

terminal.networkAssignedId

String

@Can be null @Length for Visa 6, @Length for Mastercard 10.

When mastercard transaction is with network program field must be present, for visa transaction with network program fields is optional

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

outside3dsRequest

Object

There are outside 3ds data authorization that have been send to our API. This is optional parameter. Without this parameter, transaction will be processed as a regular transaction without 3DS authorization.

outside3dsRequest.authenticationStatus

String

@must match Y or A or U, @Must not be null

Authentication status:

Y - (Full Authentication) - The customer was successfully authenticated.

A - (Successful Attempted Authentication) - Authentication was not available, but functionality was available to generate a proof of authentication attempt.

outside3dsRequest.cavv

String

@Must match the regular expression ^[j,h]{1}[\w,=]+$, @Size must be between 0 and 28 inclusive

Cardholder Authentication Verification Value

outside3dsRequest.eci

String

@Length must be between 1 and 2 inclusive, @Must match 00 or 01 or 02 or 05 or 06 or 07

Electronic Commerce Indicator: 5 (Visa) or 2 (SecureCode) - The cardholder was successfully authenticated. 6 (Visa) or 1 (SecureCode) - Authentication was attempted, but the cardholder was not enrolled. More info.

outside3dsRequest.authenticationTime

String

@Must be not null

Authentication date

outside3dsRequest.cavvAlgorithm

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Indicates the algorithm used to generate the AuthenticationCAVV value

0 - HMAC

1 - CVV

2 - CVV with ATN

3 - MasterCard SPA algorithm

outside3dsRequest.transactionxId

String

This field is required for 3DS 2.X, optional for 3DS 1.0

6.4.2. Response

Response status
Status Description

200 OK

Returned when transaction was successfully authorized.

400 BAD REQUEST

STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid.

401 UNAUTHORIZED

STATUS: E80002 - Returned when you are the problem with authorized to your PSP.

409 CONFLICT

STATUS: E001598 - Returned when transactionUUID already exists.

422 UNPROCESSABLE ENTITY

STATUS: E00158 - Cardholder Currency Indicator is invalid for DCC transaction.

STATUS: E001599 - Returned when card expiration date is invalid.

STATUS: E00160 - Returned when transaction rejected, cvc2 is required if no 3DS has been made.

STATUS: E001601 - Returned when transaction is with network program, but network assignedId is invalid.

500 INTERNAL SERVER ERROR

STATUS: E00153 - Returned when transaction is declined, by problem with MIP connection.

STATUS: E001597 - Returned when transaction declined, processing timeout.

STATUS: E90000 - Returned when reason is unknown.

503 SERVICE UNAVAILABLE

STATUS: E90001 - Returned when is error acquirer connection.

STATUS: E90002 - Returned when is error mpi connection.

200 OK Mastercard
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "transactionUuid" : "9c6d8759-6e51-4b3d-a739-6d684d8cb6e4",
  "requestUuid" : "1f3c4006-6d44-4810-8c26-5c4583ae1e69",
  "transactionStatus" : "APPROVED",
  "responseCode" : "CODE_00",
  "rrn" : "007007614129",
  "stan" : "614129",
  "provider" : "MASTERCARD",
  "banknetReferenceNumber":"66KXFF"
  "cardType" : "DMC",
  "defaultCurrency" : "PLN",
  "bankName": "BANK MILLENNIUM S.A.",
  "countryCardIssuing": "POL",
  "countryCodeNumeric": "616",
  "region": "EUROPE",
  "gcmsProductId": "MCG",
  "eeaDomesticRateQualificationIndicator": "Y",
  "status" : "S00002",
  "message" : "Success transaction",
  "httpStatus" : "OK"
}
Table 31. Authorize response fields
Path Type Description

transactionUuid

String

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

Request’s unique uuid in system

transactionStatus

String

Transaction status

responseCode

String

Response code

rrn

String

Retrieval Reference Number

stan

String

System Trace Audit Number (STAN)

provider

String

Card’s provider

banknetReferenceNumber

String

Unique data element, assigned by Mastercard, which identifies an authorization transaction. Available only for Mastercard transactions.

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard
DMC - Debit Mastercard
MSI - Maestro
CIR - Cirrus
PVL - Private Label

Card type for Visa:

C - Credit
D - Debit
P - Prepaid
H - Charge
R – Deferred Debit
Space – Not applicable

defaultCurrency

String

Default card currency

bankName

String

Bank name only for Mastercard

countryCardIssuing

String

Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3

Country card Issuing for Visa: - ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Mastercard:
- ISO 3166-1 Numeric

Country code numeric for Visa:
- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES
- CANADA
- LATINA_AMERICA_AND_THE_CARIBBEAN
- ASIA_PACIFIC
- EUROPE
- SOUTH_ASIA_MIDDLE_EAST_AFRICA
- ANY

Region for Visa:

1 = US
2 = Canada
3 = Visa Europe
4 = Asia-Pacific
5 = Latin America and Carribean
6 = CEMEA

gcmsProductId

String

Gcms product id only for Mastercard

This is the Product ID recognized by GCMS for the issuer account range and card program identifier combination. It may be different from the Licensed Product ID associated with the issuer account range and card program identifier combination.

eeaDomesticRateQualificationIndicator

String

EEA Domestic Rate Qualification Indicator only for Mastercard: Valid values:
Y = EEA Domestic Rate qualified
N = Not EEA Domestic Rate qualified

binType

String

Bin type only for VISA

F = Full Service
I = Issuer Only
M = Merchant Only
N = Nonfinancial
O = On Behalf Of (OBO)
P = Processor
S = SMS Financial entity
V = Visa Internal entity

domain

String

Domain only for VISA:

W = (Worldwide)
R = (Regional)
N = (National)
D = (Domestic)

productId

String

Product ID only for VISA.

This field contains the Product ID values:
A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C - Visa Signature, D - Visa Signature Preferred, DI - Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 - Visa Business Enhanced, G4 - Visa Infinite Business, G5 - Visa Business Rewards, I - Visa Infinite, I1 - Visa Infinite Privilege, I2 - Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T&E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 - Private Label Standard, Q4 - Private Label Enhanced, Q5 - Private Label Specialized, Q6 - Private Label Premium, R - Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 - Visa Government Purchasing with Fleet, S4 - Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

settlementMatch

String

Settlement match only for VISA:

B = (B2B)
E = B2E
Space = (Not applicable)

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

200 OK Visa
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "transactionUuid" : "9c6d8759-6e51-4b3d-a739-6d684d8cb6e4",
  "requestUuid" : "1f3c4006-6d44-4810-8c26-5c4583ae1e69",
  "transactionStatus" : "APPROVED",
  "responseCode" : "CODE_00",
  "rrn" : "007007614129",
  "stan" : "614129",
  "provider" : "VISA",
  "cardType" : "C",
  "defaultCurrency" : "USD",
  "countryCardIssuing": "US",
  "countryCodeNumeric": "840",
  "region": "1",
  "binType": "I",
  "domain": "W",
  "productId": "F",
  "settlementMatch": " ",
  "status" : "S00002",
  "message" : "Success transaction",
  "httpStatus" : "OK"
}
Table 32. Authorize response fields
Path Type Description

transactionUuid

String

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

Request’s unique uuid in system

transactionStatus

String

Transaction status

responseCode

String

Response code

rrn

String

Retrieval Reference Number

stan

String

System Trace Audit Number (STAN)

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard
DMC - Debit Mastercard
MSI - Maestro
CIR - Cirrus
PVL - Private Label

Card type for Visa:

C - Credit
D - Debit
P - Prepaid
H - Charge
R – Deferred Debit
Space – Not applicable

defaultCurrency

String

Default card currency

countryCardIssuing

String

Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3

Country card Issuing for Visa: - ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Mastercard:
- ISO 3166-1 Numeric

Country code numeric for Visa:
- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES
- CANADA
- LATINA_AMERICA_AND_THE_CARIBBEAN
- ASIA_PACIFIC
- EUROPE
- SOUTH_ASIA_MIDDLE_EAST_AFRICA
- ANY

Region for Visa:

1 = US
2 = Canada
3 = Visa Europe
4 = Asia-Pacific
5 = Latin America and Carribean
6 = CEMEA

binType

String

Bin type only for VISA

F = Full Service
I = Issuer Only
M = Merchant Only
N = Nonfinancial
O = On Behalf Of (OBO)
P = Processor
S = SMS Financial entity
V = Visa Internal entity

domain

String

Domain only for VISA:

W = (Worldwide)
R = (Regional)
N = (National)
D = (Domestic)

productId

String

Product ID only for VISA.

This field contains the Product ID values:
A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C - Visa Signature, D - Visa Signature Preferred, DI - Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 - Visa Business Enhanced, G4 - Visa Infinite Business, G5 - Visa Business Rewards, I - Visa Infinite, I1 - Visa Infinite Privilege, I2 - Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T&E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 - Private Label Standard, Q4 - Private Label Enhanced, Q5 - Private Label Specialized, Q6 - Private Label Premium, R - Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 - Visa Government Purchasing with Fleet, S4 - Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

settlementMatch

String

Settlement match only for VISA:

B = (B2B)
E = B2E
Space = (Not applicable)

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

400 BAD REQUEST
HTTP Response - STATUS: E80000
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:26 GMT
Connection: close
Content-Length: 640

{
  "errors" : {
    "expiryDate" : [ "must not be null", "invalid card expiration date", "must not be blank" ],
    "lastName" : [ "must not be blank", "must not be null" ],
    "firstName" : [ "must not be null", "may not be empty" ],
    "amount" : [ "must not be null" ],
    "merchantUuid" : [ "must not be null" ],
    "requestUuid" : [ "must not be null" ],
    "currency" : [ "must not be null" ],
    "cvc2" : [ "must not be null", "must not be blank" ],
    "cardNumber" : [ "must not be null", "must not be blank" ]
  },
  "status" : "E80000",
  "httpStatus" : "BAD_REQUEST",
  "traceId" : "77caa2c3-df04-4e07-bf56-b4b1d92b53f0"
}
Table 33. Response fields
Path Type Description

status

String

Response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

401 UNAUTHORIZED
HTTP Response - STATUS: E80002
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "timestamp": "2020-06-01T07:17:31.968+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/processor/payments/auth"
}
Table 34. Response fields
Path Type Description

timestamp

String

Time stamp

status

Number

Response code from Fenige system

error

String

Response http status

message

String

Message for response code from Fenige system

path

String

Path

409 Conflict
HTTP/1.1 409 Conflict
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "06396fa7-4281-40e2-970d-9894f91b5de6",
    "transactionUuid": "c3413be2-a66f-4437-945c-1b3a5258c857",
    "status": "E001598",
    "message": "Transaction rejected, transactionUUID already exists",
    "httpStatus": "CONFLICT",
    "traceId": "66cd08e1-9153-45be-9428-208f2e73ae99"
}
Table 35. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

422 UNPROCESSABLE ENTITY
HTTP Response - STATUS: E00150
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "aa23f94e-1dc4-468c-876d-dee3588daba9",
    "transactionUuid": "3a4b276a-84e9-4f5d-82e9-e20d8936c2c8",
    "status": "E00150",
    "message": "Transaction rejected",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "7fd9be06-e12c-4abd-943b-52fb1d3735cf"
}
HTTP Response - STATUS: E00151
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "aa23f94e-1dc4-468c-876d-dee3588daba9",
    "transactionUuid": "3a4b276a-84e9-4f5d-82e9-e20d8936c2c8",
    "status": "E00151",
    "message": "Transaction rejected, currency not supported",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "7fd9be06-e12c-4abd-943b-52fb1d3735cf"
}
HTTP Response - STATUS: E00152
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "aa23f94e-1dc4-468c-876d-dee3588daba9",
    "transactionUuid": "3a4b276a-84e9-4f5d-82e9-e20d8936c2c8",
    "status": "E00152",
    "message": "Transaction rejected, issuer card not supported",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "7fd9be06-e12c-4abd-943b-52fb1d3735cf"
}
HTTP Response - STATUS: E00156
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "aa23f94e-1dc4-468c-876d-dee3588daba9",
    "transactionUuid": "3a4b276a-84e9-4f5d-82e9-e20d8936c2c8",
    "status": "E00156",
    "message": "Transaction rejected, initial recurring transaction not cleared/exist",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "7fd9be06-e12c-4abd-943b-52fb1d3735cf"
}
HTTP Response - STATUS: E00158
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "aa23f94e-1dc4-468c-876d-dee3588daba9",
    "transactionUuid": "3a4b276a-84e9-4f5d-82e9-e20d8936c2c8",
    "status": "E00158",
    "message": "Transaction rejected, invalid Cardholder Currency Indicator for DCC transaction",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "7fd9be06-e12c-4abd-943b-52fb1d3735cf"
}
HTTP Response - STATUS: E00159
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "aa23f94e-1dc4-468c-876d-dee3588daba9",
    "transactionUuid": "3a4b276a-84e9-4f5d-82e9-e20d8936c2c8",
    "status": "E00159",
    "message": "Transaction rejected, initial CoF transaction not cleared/exist",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "7fd9be06-e12c-4abd-943b-52fb1d3735cf"
}
HTTP Response - STATUS: E00160
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "aa23f94e-1dc4-468c-876d-dee3588daba9",
    "transactionUuid": "3a4b276a-84e9-4f5d-82e9-e20d8936c2c8",
    "status": "E00160",
    "message": "Transaction rejected, cvc2 is required if no 3DS has been made",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "7fd9be06-e12c-4abd-943b-52fb1d3735cf"
}
Table 36. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

500 INTERNAL SERVER ERROR
HTTP Response - STATUS: E90000
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "status": "E90000",
    "message": "Domain error",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "8c1d724c-f5ca-4543-aa8f-1db865bdf059"
}
HTTP Response - STATUS: E00153
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "1f1c4006-6d18-4810-8c26-5c1583ae1e92",
    "transactionUuid": "9c6d8759-6e51-4b3d-a739-6d684d8cb6e4",
    "transactionStatus": "DECLINED",
    "status": "E00153",
    "message": "Transaction declined, problem with MIP connection",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001597
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001597",
    "message": "Transaction declined, processing timeout",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001900
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001900",
    "message": "Installment Payment initial not found",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001901
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001901",
    "message": "Installment Payment already confirmed",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001902
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001902",
    "message": "Installment Payment already cancelled",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001903
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001903",
    "message": "Installment Payment already pay in full",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001904
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001904",
    "message": "Installment Payment not confirmed in required time",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001905
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001905",
    "message": "Installment Payment Initial was failed",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001906
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001906",
    "message": "Installment Payment could not find valid installment plan for requested uuid",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001907
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001907",
    "message": "Installment Payment Option not allowed for transaction",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001908
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001908",
    "message": "Installment Payment missing plan uuid",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001909
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001909",
    "message": "Installment Payment missing request number of installments",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001910
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001910",
    "message": "Installment Payment requested number of installments is outside of allowed range",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
Table 37. Response fields
Path Type Description

requestUuid

String

Request unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

503 SERVICE UNAVAILABLE
HTTP Response - STATUS: E90001
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 267

{
    "requestUuid": "849343cf-a0c0-439b-a64d-476a7e5afbc6",
    "transactionUuid": "6d6463cf-d644-47b0-b285-d505784a9757",
    "transactionStatus": "ERROR",
    "status": "E90001",
    "message": "Error acquirer connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "eb3eb56f-2e01-4211-ba34-654b5a5f2c31"
}
HTTP Response - STATUS: E90002
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 267

{
    "requestUuid": "849343cf-a0c0-439b-a64d-476a7e5afbc6",
    "transactionUuid": "6d6463cf-d644-47b0-b285-d505784a9757",
    "transactionStatus": "ERROR",
    "status": "E90002",
    "message": "Error mpi connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "6675fab9-05a9-4158-b852-e5b15fe577ca"
}
Table 38. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

6.5. MO/TO payment

POST /processor/payments/moto Content Type: application/json, Authorization: Basic Auth
MO/TO is a type of transaction where the customer makes a purchase in the merchant's shop by phone or e-mail. All required transactional data are obtained through a call to the merchant's consultant and sensitive data, e.g. by typing cvc, expiry date, card number on the phone keypad.
The MO/TO transaction has two possible types of authentication: CVC (using the card's cvc) or AVS (using the cardholder's address - postcode and address e.g. house number).
A MO/TO DCC (Dynamic Currency Conversion) transaction is a dynamic transaction amount conversion service available at payment terminals, enabling payment in the currency of the
country where the credit card was issued.
The difference between DCC payment and standard payment is on the side of the Acquirer, who must check the card's currencies and present them on request. The client chooses
from the available currencies (or the default currency is automatically selected). Then Acquirer performs a currency conversion on its side to the chosen currency and sends to FENIGE a request with a dcc object in which it places the converted amount in the currency chosen by the Client.
MO/TO
moto payment
MO/TO DCC
moto dcc payment

6.5.1. Request

MO/TO with CVC
POST /processor/payments/moto HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 119
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "23439464-8fa1-4027-baa7-2c81e0d1f1f4",
  "requestUuid": "4d3a45a3-32ed-4352-8298-8b1ddae6028f",
  "currency" : "PLN",
  "amount" : 1000,
  "cardNumber" : "5486009685692819",
  "expiryDate" : "12/22",
  "autoClear" : true,
  "networkProgram" : true,
  "motoType": "CVC",
  "cvc2": "587",
  "merchant" : {
	"merchantId" : "1386a6c7-bce8-4ace-a06e-8b02be5458b5",
	"companyName" : "Company Name",
	"city" : "Lublin",
	"country" : "PL",
	"homeNumber" : "10",
	"street" : "Merchant Street",
	"streetNumber" : "11",
	"postalCode" : "24-110",
	"subdivision": "06",
	"taxId": "PL9111158900",
	"partnershipAgreement": "MC0001",
	"contactPhoneNumber": "48587604859",
	"supportPhoneNumber": "48587604844",
	"serviceCity": "Warszawa",
	"serviceCountry": "PL",
	"servicePostalCode": "01-262",
	"serviceSubdivision": "14"
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
	"firstName" : "Mark",
	"lastName" : "Smith",
	"email": "senderEmail@fenige.pl"
  }
}
Table 39. Request headers

Name

Description

Authorization

Basic auth credentials for Acquirer

Table 40. MO/TO Payment request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies)

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

cvc2

String

@Length must be 3 characters, @Must not be null when MO/TO CVC

Cardholder’s card cvc2. Required only when moto verification type (motoType) is set to CVC value

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

motoType

String

@Must not be null

Allows to switch between CVC and AVS (Address Verification) methods of authentication

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

MO/TO with AVS
POST /processor/payments/moto HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 119
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "23439464-8fa1-4027-baa7-2c81e0d1f1f4",
  "requestUuid": "4d3a45a3-32ed-4352-8298-8b1ddae6028f",
  "currency" : "PLN",
  "amount" : 1000,
  "cardNumber" : "5486009685692819",
  "expiryDate" : "12/22",
  "autoClear" : true,
  "networkProgram" : true,
  "motoType": "AVS",
  "clientPostalCode": "11-111",
  "clientAddress": "5",
  "merchant" : {
	"merchantId" : "1386a6c7-bce8-4ace-a06e-8b02be5458b5",
	"companyName" : "Company Name",
	"city" : "Lublin",
	"country" : "PL",
	"homeNumber" : "10",
	"street" : "Merchant Street",
	"streetNumber" : "11",
	"postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14",
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
	"firstName" : "Mark",
	"lastName" : "Smith",
	"email": "senderEmail@fenige.pl"
  }
}
Table 41. Request headers

Name

Description

Authorization

Basic auth credentials for Acquirer

Table 42. MO/TO Payment request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies)

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

motoType

String

@Must not be null

Allows to switch between CVC and AVS (Address Verification) methods of authentication

clientPostalCode

String

@Must not be null when MO/TO AVS

Client postal code required in AVS service to authorize cardholder in bank issuer during MO/TO transaction

clientAddress

String

@Must not be null when AVS

Client address (e.g. house number) required in AVS service to authorize cardholder in bank issuer during MO/TO transaction

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

MO/TO DCC with CVC
POST /processor/payments/moto HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 119
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "23439464-8fa1-4027-baa7-2c81e0d1f1f4",
  "requestUuid": "4d3a45a3-32ed-4352-8298-8b1ddae6028f",
  "currency" : "PLN",
  "amount" : 1000,
  "cardNumber" : "5486009685692819",
  "expiryDate" : "12/22",
  "autoClear" : true,
  "networkProgram" : true,
  "motoType": "CVC",
  "cvc2": "587",
  "dcc":{
	"cardholderAmount" : 224,
	"cardholderCurrency" : "EUR",
	"conversionRateCardholder" : 0.2247541
  },
  "merchant" : {
	"merchantId" : "1386a6c7-bce8-4ace-a06e-8b02be5458b5",
	"companyName" : "Company Name",
	"city" : "Lublin",
	"country" : "PL",
	"homeNumber" : "10",
	"street" : "Merchant Street",
	"streetNumber" : "11",
	"postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14",
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
	"firstName" : "Mark",
	"lastName" : "Smith",
	"email": "senderEmail@fenige.pl"
  }
}
Table 43. Request headers

Name

Description

Authorization

Basic auth credentials for Acquirer

Table 44. MO/TO DCC Payment request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies)

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

cvc2

String

@Length must be 3 characters, @Must not be null when MO/TO CVC

Cardholder’s card cvc2. Required only when moto verification type (motoType) is set to CVC value

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

motoType

String

@Must not be null

Allows to switch between CVC and AVS (Address Verification) methods of authentication

dcc

Object

@Must not be null

The total transfer amount (in pennies) in transaction currency

dcc.cardholderAmount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in cardholder dcc currency

dcc.cardholderCurrency

String

@Must not be null

Currency of cardholder card (in accordance with ISO-4217), example: USD

dcc.conversionRateCardholder

BigDecimal

@Must not be null

The rate used to convert the transaction amount to the cardholder billing amount

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

MO/TO DCC with AVS
POST /processor/payments/moto HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 119
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "23439464-8fa1-4027-baa7-2c81e0d1f1f4",
  "requestUuid": "4d3a45a3-32ed-4352-8298-8b1ddae6028f",
  "currency" : "PLN",
  "amount" : 1000,
  "cardNumber" : "5486009685692819",
  "expiryDate" : "12/22",
  "autoClear" : true,
  "networkProgram" : true,
  "motoType": "AVS",
  "clientPostalCode": "11-111",
  "clientAddress": "5",
  "dcc":{
	"cardholderAmount" : 224,
	"cardholderCurrency" : "EUR",
	"conversionRateCardholder" : 0.2247541
  },
  "merchant" : {
	"merchantId" : "1386a6c7-bce8-4ace-a06e-8b02be5458b5",
	"companyName" : "Company Name",
	"city" : "Lublin",
	"country" : "PL",
	"homeNumber" : "10",
	"street" : "Merchant Street",
	"streetNumber" : "11",
	"postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14",
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
	"firstName" : "Mark",
	"lastName" : "Smith",
	"email": "senderEmail@fenige.pl"
  }
}
Table 45. Request headers

Name

Description

Authorization

Basic auth credentials for Acquirer

Table 46. MO/TO DCC Payment request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in transaction currency

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

motoType

String

@Must not be null

Allows to switch between CVC and AVS (Address Verification) methods of authentication

clientPostalCode

String

@Must not be null when MO/TO AVS

Client postal code required in AVS service to authorize cardholder in bank issuer during MO/TO transaction

clientAddress

String

@Must not be null when AVS

Client address (e.g. house number) required in AVS service to authorize cardholder in bank issuer during MO/TO transaction

dcc

Object

@Must not be null

There are dcc data that have been send to our API

dcc.cardholderAmount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in cardholder dcc currency

dcc.cardholderCurrency

String

@Must not be null

Currency of cardholder card (in accordance with ISO-4217), example: USD

dcc.conversionRateCardholder

BigDecimal

@Must not be null

The rate used to convert the transaction amount to the cardholder billing amount

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

terminal.networkAssignedId

String

@Can be null @Length for Visa 6, @Length for Mastercard 10.

When mastercard transaction is with network program field must be present, for visa transaction with network program fields is optional

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

6.5.2. Response

Response status
Status Description

200 OK

STATUS: S00002 - Returned when transaction was successfully authorized.

400 BAD REQUEST

STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid.

401 UNAUTHORIZED

STATUS: E80002 - Returned when you are the problem with authorized to your PSP.

403 FORBIDDEN

STATUS: E80001 - Returned when server understood the request but refuses to authorize it.

404 NOT FOUND

STATUS: E00155 - Returned when not found transaction or transaction not exist.

409 CONFLICT

STATUS: E001598 - Returned when transactionUUID already exists.

422 UNPROCESSABLE ENTITY

STATUS: E00158 - Returned when Cardholder Currency Indicator is invalid for DCC transaction.

STATUS: E001599 - Returned when card expiration date is invalid.

STATUS: E001601 - Returned when transaction is with network program, but network assignedId is invalid.

500 INTERNAL SERVER ERROR

STATUS: E00153 - Returned when transaction is declined, by problem with MIP connection.

STATUS: E001597 - Returned when transaction declined, processing timeout.

STATUS: E90000 - Returned when reason is unknown.

503 SERVICE UNAVAILABLE

STATUS: E90001 - Returned when is error acquirer connection.

STATUS: E90002 - Returned when is error mpi connection.

200 OK Mastercard
HTTP Response - STATUS: S00002
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
    "requestUuid": "4d3a45a3-32ed-4352-8298-8b1ddae6028f",
    "transactionUuid": "23439464-8fa1-4027-baa7-2c81e0d1f1f4",
    "transactionStatus": "APPROVED",
    "responseCode": "CODE_00",
    "rrn": "015308100167",
    "stan": "100167",
    "provider" : "MASTERCARD",
    "banknetReferenceNumber":"66KXFF"
    "cardType" : "DMC",
    "defaultCurrency" : "PLN",
    "bankName": "BANK MILLENNIUM S.A.",
    "countryCardIssuing": "POL",
    "countryCodeNumeric": "616",
    "region": "EUROPE",
    "gcmsProductId": "MCG",
    "eeaDomesticRateQualificationIndicator": "Y",
    "status": "S00002",
    "message": "Success transaction",
    "httpStatus": "OK"
}
Table 47. MO/TO payment response fields
Path Type Description

transactionUuid

String

Transaction’s unique uuid in system

requestUuid

String

Request’s unique uuid in system

transactionStatus

String

Transaction status

responseCode

String

Response code

rrn

String

Retrieval Reference Number

stan

String

System Trace Audit Number (STAN)

provider

String

Card’s provider

banknetReferenceNumber

String

Unique data element, assigned by Mastercard, which identifies an authorization transaction. Available only for Mastercard transactions.

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard
DMC - Debit Mastercard
MSI - Maestro
CIR - Cirrus
PVL - Private Label

Card type for Visa:

C - Credit
D - Debit
P - Prepaid
H - Charge
R – Deferred Debit
Space – Not applicable

defaultCurrency

String

Default card currency

bankName

String

Bank name only for Mastercard

countryCardIssuing

String

Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3

Country card Issuing for Visa: - ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Mastercard:
- ISO 3166-1 Numeric

Country code numeric for Visa:
- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES
- CANADA
- LATINA_AMERICA_AND_THE_CARIBBEAN
- ASIA_PACIFIC
- EUROPE
- SOUTH_ASIA_MIDDLE_EAST_AFRICA
- ANY

Region for Visa:

1 = US
2 = Canada
3 = Visa Europe
4 = Asia-Pacific
5 = Latin America and Carribean
6 = CEMEA

gcmsProductId

String

Gcms product id only for Mastercard

This is the Product ID recognized by GCMS for the issuer account range and card program identifier combination. It may be different from the Licensed Product ID associated with the issuer account range and card program identifier combination.

eeaDomesticRateQualificationIndicator

String

EEA Domestic Rate Qualification Indicator only for Mastercard: Valid values:
Y = EEA Domestic Rate qualified
N = Not EEA Domestic Rate qualified

binType

String

Bin type only for VISA

F = Full Service
I = Issuer Only
M = Merchant Only
N = Nonfinancial
O = On Behalf Of (OBO)
P = Processor
S = SMS Financial entity
V = Visa Internal entity

domain

String

Domain only for VISA:

W = (Worldwide)
R = (Regional)
N = (National)
D = (Domestic)

productId

String

Product ID only for VISA.

This field contains the Product ID values:
A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C - Visa Signature, D - Visa Signature Preferred, DI - Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 - Visa Business Enhanced, G4 - Visa Infinite Business, G5 - Visa Business Rewards, I - Visa Infinite, I1 - Visa Infinite Privilege, I2 - Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T&E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 - Private Label Standard, Q4 - Private Label Enhanced, Q5 - Private Label Specialized, Q6 - Private Label Premium, R - Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 - Visa Government Purchasing with Fleet, S4 - Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

settlementMatch

String

Settlement match only for VISA:

B = (B2B)
E = B2E
Space = (Not applicable)

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

200 OK Visa
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "requestUuid" : "4d3a45a3-32ed-4352-8298-8b1ddae6028f",
  "transactionUuid" : "23439464-8fa1-4027-baa7-2c81e0d1f1f4",
  "transactionStatus" : "APPROVED",
  "responseCode" : "CODE_00",
  "rrn" : "015308100167",
  "stan" : "100167",
  "provider" : "VISA",
  "cardType" : "C",
  "defaultCurrency" : "USD",
  "countryCardIssuing": "US",
  "countryCodeNumeric": "840",
  "region": "1",
  "binType": "I",
  "domain": "W",
  "productId": "F",
  "settlementMatch": " ",
  "status" : "S00002",
  "message" : "Success transaction",
  "httpStatus" : "OK"
}
Table 48. Authorize response fields
Path Type Description

transactionUuid

String

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

Request’s unique uuid in system

transactionStatus

String

Transaction status

responseCode

String

Response code

rrn

String

Retrieval Reference Number

stan

String

System Trace Audit Number (STAN)

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard
DMC - Debit Mastercard
MSI - Maestro
CIR - Cirrus
PVL - Private Label

Card type for Visa:

C - Credit
D - Debit
P - Prepaid
H - Charge
R – Deferred Debit
Space – Not applicable

defaultCurrency

String

Default card currency

countryCardIssuing

String

Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3

Country card Issuing for Visa: - ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Mastercard:
- ISO 3166-1 Numeric

Country code numeric for Visa:
- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES
- CANADA
- LATINA_AMERICA_AND_THE_CARIBBEAN
- ASIA_PACIFIC
- EUROPE
- SOUTH_ASIA_MIDDLE_EAST_AFRICA
- ANY

Region for Visa:

1 = US
2 = Canada
3 = Visa Europe
4 = Asia-Pacific
5 = Latin America and Carribean
6 = CEMEA

binType

String

Bin type only for VISA

F = Full Service
I = Issuer Only
M = Merchant Only
N = Nonfinancial
O = On Behalf Of (OBO)
P = Processor
S = SMS Financial entity
V = Visa Internal entity

domain

String

Domain only for VISA:

W = (Worldwide)
R = (Regional)
N = (National)
D = (Domestic)

productId

String

Product ID only for VISA.

This field contains the Product ID values:
A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C - Visa Signature, D - Visa Signature Preferred, DI - Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 - Visa Business Enhanced, G4 - Visa Infinite Business, G5 - Visa Business Rewards, I - Visa Infinite, I1 - Visa Infinite Privilege, I2 - Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T&E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 - Private Label Standard, Q4 - Private Label Enhanced, Q5 - Private Label Specialized, Q6 - Private Label Premium, R - Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 - Visa Government Purchasing with Fleet, S4 - Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

settlementMatch

String

Settlement match only for VISA:

B = (B2B)
E = B2E
Space = (Not applicable)

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

400 BAD REQUEST
HTTP Response - STATUS: E80000
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:26 GMT
Connection: close
Content-Length: 640

{
    "errors": {
        "expiryDate": [
            "must not be blank",
            "must not be null",
            "invalid card expiration date"
        ],
        "transactionUuid": [
            "must not be null"
        ],
        "amount": [
            "must not be null"
        ],
        "dcc": [
            "must not be null"
        ],
        "sender": [
            "must not be null"
        ],
        "requestUuid": [
            "must not be null"
        ],
        "merchant": [
            "must not be null"
        ],
        "currency": [
            "must not be null"
        ],
        "cvc2": [
            "must not be blank",
            "must not be null"
        ],
        "cardNumber": [
            "must not be null",
            "must not be blank"
        ]
    },
    "status": "E80000",
    "httpStatus": "BAD_REQUEST",
    "traceId": "5e0febea-cf8a-4532-bb66-de806093ce1b"
}
HTTP Response - STATUS: E80000
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:26 GMT
Connection: close
Content-Length: 640

{
    "errors": {
        "expiryDate": [
            "must not be blank",
            "must not be null",
            "invalid card expiration date"
        ],
        "transactionUuid": [
            "must not be null"
        ],
        "amount": [
            "must not be null"
        ],
        "sender": [
            "must not be null"
        ],
        "requestUuid": [
            "must not be null"
        ],
        "merchant": [
            "must not be null"
        ],
        "currency": [
            "must not be null"
        ],
        "cvc2": [
            "must not be blank",
            "must not be null"
        ],
        "cardNumber": [
            "must not be null",
            "must not be blank"
        ]
    },
    "status": "E80000",
    "httpStatus": "BAD_REQUEST",
    "traceId": "5e0febea-cf8a-4532-bb66-de806093ce1b"
}
Table 49. Response fields
Path Type Description

status

String

Response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

401 UNAUTHORIZED
HTTP Response - STATUS: E80002
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "timestamp": "2020-06-01T07:17:31.968+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/processor/payments/moto"
}
Table 50. Response fields
Path Type Description

timestamp

String

Time stamp

status

Number

Response code from Fenige system

error

String

Response http status

message

String

Message for response code from Fenige system

path

String

Path

409 Conflict
HTTP/1.1 409 Conflict
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "06396fa7-4281-40e2-970d-9894f91b5de6",
    "transactionUuid": "c3413be2-a66f-4437-945c-1b3a5258c857",
    "status": "E001598",
    "message": "Transaction rejected, transactionUUID already exists",
    "httpStatus": "CONFLICT",
    "traceId": "66cd08e1-9153-45be-9428-208f2e73ae99"
}
Table 51. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

422 UNPROCESSABLE ENTITY
HTTP Response - STATUS: E00158
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "aa23f94e-1dc4-468c-876d-dee3588daba9",
    "transactionUuid": "3a4b276a-84e9-4f5d-82e9-e20d8936c2c8",
    "status": "E00158",
    "message": "Returned when Cardholder Currency Indicator is invalid for DCC transaction.",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "7fd9be06-e12c-4abd-943b-52fb1d3735cf"
}
Table 52. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

500 INTERNAL SERVER ERROR
HTTP Response - STATUS: E90000
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "status": "E90000",
    "message": "Domain error",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "8c1d724c-f5ca-4543-aa8f-1db865bdf059"
}
HTTP Response - STATUS: E00153
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "1f1c4006-6d18-4810-8c26-5c1583ae1e92",
    "transactionUuid": "9c6d8759-6e51-4b3d-a739-6d684d8cb6e4",
    "transactionStatus": "DECLINED",
    "status": "E00153",
    "message": "Transaction declined, problem with MIP connection",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001597
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001597",
    "message": "Transaction declined, processing timeout",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
Table 53. Response fields
Path Type Description

requestUuid

String

Request unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

503 SERVICE UNAVAILABLE
HTTP Response - STATUS: E90001
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 267

{
    "requestUuid": "4d3a45a3-32ed-4352-8298-8b1ddae6028f",
    "transactionUuid": "23439464-8fa1-4027-baa7-2c81e0d1f1f4",
    "transactionStatus": "ERROR",
    "status": "E90001",
    "message": "Error acquirer connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "2ffd3ef9-c2f8-4d19-8459-eecf743b088d"
}
HTTP Response - STATUS: E90002
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 267

{
    "requestUuid": "4d3a45a3-32ed-4352-8298-8b1ddae6028f",
    "transactionUuid": "23439464-8fa1-4027-baa7-2c81e0d1f1f4",
    "transactionStatus": "ERROR",
    "status": "E90002",
    "message": "Error mpi connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "a948f9be-1540-48af-8e18-17dcd24f6e89"
}
Table 54. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

6.6. Token payment

POST /processor/payments/token Content Type: application/json, Authorization: Basic Auth
The token payment method is a solution that allows merchant customers to make payments using mobile applications. The merchant uses a card number in the form of a token (Apple
pay/) and dynamic cryptographic data to authenticate the cardholder. The merchant receives this data from the token requestor it uses.
Then Fenige authorizes the transaction in Mastercard or VISA and depending on the result, returns the corresponding status to the merchant.
An additional option not required is to send an additional authentication in the form of an outside3ds object containing the authentication data for the 3DS version 1.0 or 2.x
execution confirmation.

Google pay - payment with Google pay is a standard ecommerce payment for which you can use the 5.4. Payment method except that there is no CVC field

Payment with DCC (Dynamic Currency Conversion) transaction is a dynamic transaction amount conversion service available at payment terminals, enabling payment in the
currency of the country where the credit card was issued.
The difference between DCC payment and standard payment is on the side of the Acquirer, who must check the card's currencies and present them on request. The client chooses
from the available currencies (or the default currency is automatically selected). Then Acquirer performs a currency conversion on its side to the chosen currency and sends to FENIGE a request with a dcc object in which it places the converted amount in the currency chosen by the Client.
Token payment
authorize token payment request processor
Token payment with 3ds flow
3ds authorize token payment request processor
Token payment DCC with 3ds flow
3ds authorize token payment dcc request processor

6.6.1. Request

Token payment
POST /processor/payments/token HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 528
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "9c6d8759-6e51-4b3d-a739-6d684d8cb6e4",
  "requestUuid" : "1f3c4006-6d44-4810-8c26-5c4583ae1e69",
  "amount" : 1000,
  "currency" : "USD",
  "tokenPan" : "5127482301411937126",
  "expiryDate" : "11/22",
  "autoClear" : true,
  "networkProgram" : true,
  "merchant" : {
    "merchantId" : "ac107c31-6fa9-45ab-acff-f6df8fa48cd9",
    "companyName" : "Company Name",
    "city" : "Lublin",
    "country" : "PL",
    "homeNumber" : "10",
    "street" : "Merchant street",
    "streetNumber" : "11",
    "postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14"
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "cryptoCurrency" : false,
    "specialConditionIndicatorExistingDebt" : false,
    "terminalLocation" : "HOME",
    "terminalPanEntryMode" : "LOW_VALUE_PAYMENT",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
    "firstName" : "Mark",
    "lastName" : "Smith",
    "email" : "senderEmail@fenige.pl"
  },
  "paymentData" : {
    "onlinePaymentCryptogram" : "/0OL1zEABL+gk70RYJ8lMAABAAA=",
    "eciIndicator" : "02",
    "walletIdentifier" : "GOOGLE_PAY"
  }
}
Table 55. Authorize request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies)

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

tokenPan

String

@Must be not null, @Must be not blank, @Length must be between 16 and 19

Token that is used in place of sender’s card number (PAN). Token form payment gateway or native apps from apple etc

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

terminal.cryptoCurrency

Boolean

true or false

Is the terminal cryptocurrency. Default value is false.

terminal.specialConditionIndicatorExistingDebt

Boolean

true or false

This field indicates the cardholder is making a payment on a debt. Default value is false.

terminal.terminalLocation

String

@Must not be null

Location of terminal - value must be set as HOME or PREMISES

terminal.terminalPanEntryMode

String

@Must match to one of LOW_VALUE_PAYMENT, ACQUIRER_LOW_FRAUD_AND_TRANSACTION_RISK_ANALYSIS, TRUSTED_MERCHANT_EXEMPTION, DELEGATED_AUTHENTICATION, SECURE_CORPORATE_PAYMENT or OUT_OF_SCOPE, can be null

OUT_OF_SCOPE - Country is outside EU

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

paymentData

Object

Payment tokenization data object

paymentData.onlinePaymentCryptogram

String

@Must not be empty, @Size must be between 0 and 28 inclusive

Payment secure cryptogram obtained during merchant card tokenization in mobile app. Base64 encoded payment crypto value.

paymentData.eciIndicator

String

@Length must be between 1 and 2 inclusive, @Must match 01 or 02 or 05 or 06 or 07, @Must not be null

Eci value returned only for tokens on the Visa card network. The value should be passed by merchant if present with payment cryptogram. Optional value

paymentData.walletIdentifier

String

@Optional

An additional authorization field should be introduced to reflect the token type (GooglePay, ApplePay, etc.). Mastercard authorization platform may automatically add this element when it is available, but since the information is already known to acquirer prior authorization request is submitted, it should not be problematic to supply such information to avoid any potential declines. Acceptable values: MASTERPASS, APPLE_PAY, GOOGLE_PAY, SAMSUNG_PAY, REMOTE_COMMERCE_PROGRAMS.

The Remote Commerce Programs are a suite of electronic commerce (e-commerce) solutions, delivered to issuers through the Mastercard Digital Enablement Service (MDES). The suite consists of:

Click to Pay

Mastercard Secure Card on File (COF) (for Merchants and Commerce Platforms)

MDES for Merchants

Token payment DCC
POST /processor/payments/token HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 528
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "9c6d8759-6e51-4b3d-a739-6d684d8cb6e4",
  "requestUuid" : "1f3c4006-6d44-4810-8c26-5c4583ae1e69",
  "amount" : 1000,
  "currency" : "PLN",
  "tokenPan" : "5127482301411937126",
  "expiryDate" : "11/22",
  "autoClear" : true,
  "networkProgram" : true,
  "dcc":{
	"cardholderAmount" : 224,
	"cardholderCurrency" : "EUR",
	"conversionRateCardholder" : 0.2247541
  },
  "merchant" : {
    "merchantId" : "ac107c31-6fa9-45ab-acff-f6df8fa48cd9",
    "companyName" : "Company Name",
    "city" : "Lublin",
    "country" : "PL",
    "homeNumber" : "10",
    "street" : "Merchant street",
    "streetNumber" : "11",
    "postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14",
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "terminalLocation" : "HOME",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
    "firstName" : "Mark",
    "lastName" : "Smith",
    "email" : "senderEmail@fenige.pl"
  },
  "paymentData" : {
    "onlinePaymentCryptogram" : "/0OL1zEABL+gk70RYJ8lMAABAAA=",
    "eciIndicator" : "02"
  }
}
Table 56. Authorize request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in transaction currency

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

tokenPan

String

@Must be not null, @Must be not blank, @Length must be between 16 and 19

Token that is used in place of sender’s card number (PAN). Token form payment gateway or native apps from apple etc

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

dcc

Object

@Must not be null

There are dcc data that have been send to our API

dcc.cardholderAmount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in cardholder dcc currency

dcc.cardholderCurrency

String

@Must not be null

Currency of cardholder card (in accordance with ISO-4217), example: USD

dcc.conversionRateCardholder

BigDecimal

@Must not be null

The rate used to convert the transaction amount to the cardholder billing amount

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

terminal.terminalLocation

String

@Must not be null

Location of terminal - value must be set as HOME or PREMISES

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

paymentData

Object

Payment tokenization data object

paymentData.onlinePaymentCryptogram

String

@Must not be empty, @Size must be between 0 and 28 inclusive

Payment secure cryptogram obtained during merchant card tokenization in mobile app. Base64 encoded payment crypto value.

paymentData.eciIndicator

String

@Length must be between 1 and 2 inclusive, @Must match 01 or 02 or 05 or 06 or 07, @Must not be null

Eci value returned only for tokens on the Visa card network. The value should be passed by merchant if present with payment cryptogram. Optional value

Token payment with 3ds flow
POST /processor/payments/token HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 528
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "9c6d8759-6e51-4b3d-a739-6d684d8cb6e4",
  "requestUuid" : "1f3c4006-6d44-4810-8c26-5c4583ae1e69",
  "amount" : 1000,
  "currency" : "USD",
  "tokenPan" : "5127482301411937126",
  "expiryDate" : "11/22",
  "autoClear" : true,
  "networkProgram" : true,
  "merchant" : {
    "merchantId" : "ac107c31-6fa9-45ab-acff-f6df8fa48cd9",
    "companyName" : "Company Name",
    "city" : "Lublin",
    "country" : "PL",
    "homeNumber" : "10",
    "street" : "Merchant street",
    "streetNumber" : "11",
    "postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14",
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "terminalLocation" : "HOME",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
    "firstName" : "Mark",
    "lastName" : "Smith",
    "email" : "senderEmail@fenige.pl"
  },
  "paymentData" : {
    "onlinePaymentCryptogram" : "/0OL1zEABL+gk70RYJ8lMAABAAA=",
    "eciIndicator" : "02"
  },
  "outside3dsRequest" : {
    "authenticationStatus" : "Y",
    "cavv" : "jEu04WZns7pbARAApU4qgNdJTag=",
    "eci" : "02",
    "authenticationTime" : "20180703 16:55:28",
    "cavvAlgorithm" : "3",
    "transactionxId" : "124"
  }
}
Table 57. Authorize request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies)

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

tokenPan

String

@Must be not null, @Must be not blank, @Length must be between 16 and 19

Token that is used in place of sender’s card number (PAN). Token form payment gateway or native apps from apple etc

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

terminal.terminalLocation

String

@Must not be null

Location of terminal - value must be set as HOME or PREMISES

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Length must be between 1 and 12, @Must match the regular expression [0-9]+$, @Must not be blank, @Must not be null

First name of card holder

sender.lastName

String

@Length must be between 1 and 20, @Must match the regular expression [0-9]+$, @Must not be blank, @Must not be null

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

paymentData

Object

Payment tokenization data object

paymentData.onlinePaymentCryptogram

String

@Must not be empty, @Size must be between 0 and 28 inclusive

Payment secure cryptogram obtained during merchant card tokenization in mobile app. Base64 encoded payment crypto value.

paymentData.eciIndicator

String

@Length must be between 1 and 2 inclusive, @Must match 01 or 02 or 05 or 06 or 07, @Must not be null

Eci value returned only for tokens on the Visa card network. The value should be passed by merchant if present with payment cryptogram. Optional value

outside3dsRequest

Object

There are outside 3ds data authorization that have been send to our API. This is optional parameter. Without this parameter, transaction will be processed as a regular transaction without 3DS authorization.

outside3dsRequest.authenticationStatus

String

@must match Y or A or U, @Must not be null

Authentication status:

Y - (Full Authentication) - The customer was successfully authenticated.

A - (Successful Attempted Authentication) - Authentication was not available, but functionality was available to generate a proof of authentication attempt.

outside3dsRequest.cavv

String

@Must match the regular expression ^[j,h]{1}[\w,=]+$, @Size must be between 0 and 28 inclusive

Cardholder Authentication Verification Value

outside3dsRequest.eci

String

@Length must be between 1 and 2 inclusive, @Must match 00 or 01 or 02 or 05 or 06 or 07

Electronic Commerce Indicator: 5 (Visa) or 2 (SecureCode) - The cardholder was successfully authenticated. 6 (Visa) or 1 (SecureCode) - Authentication was attempted, but the cardholder was not enrolled. More info.

outside3dsRequest.authenticationTime

String

@Must be not null

Authentication date

outside3dsRequest.cavvAlgorithm

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Indicates the algorithm used to generate the AuthenticationCAVV value

0 - HMAC

1 - CVV

2 - CVV with ATN

3 - MasterCard SPA algorithm

outside3dsRequest.transactionxId

String

This field is required for 3DS 2.X, optional for 3DS 1.0

Token payment DCC with 3ds flow
POST /processor/payments/token HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 528
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "9c6d8759-6e51-4b3d-a739-6d684d8cb6e4",
  "requestUuid" : "1f3c4006-6d44-4810-8c26-5c4583ae1e69",
  "amount" : 1000,
  "currency" : "PLN",
  "tokenPan" : "5127482301411937126",
  "expiryDate" : "11/22",
  "autoClear" : true,
  "networkProgram" : true,
  "dcc":{
	"cardholderAmount" : 224,
	"cardholderCurrency" : "EUR",
	"conversionRateCardholder" : 0.2247541
  },
  "merchant" : {
    "merchantId" : "ac107c31-6fa9-45ab-acff-f6df8fa48cd9",
    "companyName" : "Company Name",
    "city" : "Lublin",
    "country" : "PL",
    "homeNumber" : "10",
    "street" : "Merchant street",
    "streetNumber" : "11",
    "postalCode" : "24-110"
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14",
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "terminalLocation" : "HOME",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
    "firstName" : "Mark",
    "lastName" : "Smith",
    "email" : "senderEmail@fenige.pl"
  },
  "paymentData" : {
    "onlinePaymentCryptogram" : "/0OL1zEABL+gk70RYJ8lMAABAAA=",
    "eciIndicator" : "02"
  },
  "outside3dsRequest" : {
    "authenticationStatus" : "Y",
    "cavv" : "jEu04WZns7pbARAApU4qgNdJTag=",
    "eci" : "02",
    "authenticationTime" : "20180703 16:55:28",
    "cavvAlgorithm" : "3",
    "transactionxId" : "124"
  }
}
Table 58. Authorize request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in transaction currency

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

tokenPan

String

@Must be not null, @Must be not blank, @Length must be between 16 and 19

Token that is used in place of sender’s card number (PAN). Token form payment gateway or native apps from apple etc

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

dcc

Object

@Must not be null

There are dcc data that have been send to our API

dcc.cardholderAmount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in cardholder dcc currency

dcc.cardholderCurrency

String

@Must not be null

Currency of cardholder card (in accordance with ISO-4217), example: USD

dcc.conversionRateCardholder

BigDecimal

@Must not be null

The rate used to convert the transaction amount to the cardholder billing amount

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

terminal.terminalLocation

String

@Must not be null

Location of terminal - value must be set as HOME or PREMISES

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

paymentData

Object

Payment tokenization data object

paymentData.onlinePaymentCryptogram

String

@Must not be empty, @Size must be between 0 and 28 inclusive

Payment secure cryptogram obtained during merchant card tokenization in mobile app. Base64 encoded payment crypto value.

paymentData.eciIndicator

String

@Length must be between 1 and 2 inclusive, @Must match 01 or 02 or 05 or 06 or 07, @Must not be null

Eci value returned only for tokens on the Visa card network. The value should be passed by merchant if present with payment cryptogram. Optional value

outside3dsRequest

Object

There are outside 3ds data authorization that have been send to our API. This is optional parameter. Without this parameter, transaction will be processed as a regular transaction without 3DS authorization.

outside3dsRequest.authenticationStatus

String

@must match Y or A or U, @Must not be null

Authentication status:

Y - (Full Authentication) - The customer was successfully authenticated.

A - (Successful Attempted Authentication) - Authentication was not available, but functionality was available to generate a proof of authentication attempt.

outside3dsRequest.cavv

String

@Must match the regular expression ^[j,h]{1}[\w,=]+$, @Size must be between 0 and 28 inclusive

Cardholder Authentication Verification Value

outside3dsRequest.eci

String

@Length must be between 1 and 2 inclusive, @Must match 00 or 01 or 02 or 05 or 06 or 07

Electronic Commerce Indicator: 5 (Visa) or 2 (SecureCode) - The cardholder was successfully authenticated. 6 (Visa) or 1 (SecureCode) - Authentication was attempted, but the cardholder was not enrolled. More info.

outside3dsRequest.authenticationTime

String

@Must be not null

Authentication date

outside3dsRequest.cavvAlgorithm

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Indicates the algorithm used to generate the AuthenticationCAVV value

0 - HMAC

1 - CVV

2 - CVV with ATN

3 - MasterCard SPA algorithm

outside3dsRequest.transactionxId

String

This field is required for 3DS 2.X, optional for 3DS 1.0

6.6.2. Response

Response status
Status Description

200 OK

Returned when transaction was successfully authorized.

400 BAD REQUEST

STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid.

401 UNAUTHORIZED

STATUS: E80002 - Returned when you are the problem with authorized to your PSP.

409 CONFLICT

STATUS: E001598 - Returned when transactionUUID already exists.

422 UNPROCESSABLE ENTITY

STATUS: E00158 - Returned when Cardholder Currency Indicator is invalid for DCC transaction.

STATUS: E001599 - Returned when card expiration date is invalid.

STATUS: E001601 - Returned when transaction is with network program, but network assignedId is invalid.

500 INTERNAL SERVER ERROR

STATUS: E00153 - Returned when transaction is declined, by problem with MIP connection.

STATUS: E001597 - Returned when transaction declined, processing timeout.

STATUS: E90000 - Returned when reason is unknown.

503 SERVICE UNAVAILABLE

STATUS: E90001 - Returned when is error acquirer connection.

STATUS: E90002 - Returned when is error mpi connection.

200 OK Mastercard
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "transactionUuid" : "9c6d8759-6e51-4b3d-a739-6d684d8cb6e4",
  "requestUuid" : "1f3c4006-6d44-4810-8c26-5c4583ae1e69",
  "transactionStatus" : "APPROVED",
  "responseCode" : "CODE_00",
  "rrn" : "007007614129",
  "stan" : "614129",
  "provider" : "MASTERCARD",
  "banknetReferenceNumber":"66KXFF"
  "cardType" : "DMC",
  "defaultCurrency" : "PLN",
  "bankName": "BANK MILLENNIUM S.A.",
  "countryCardIssuing": "POL",
  "countryCodeNumeric": "616",
  "region": "EUROPE",
  "gcmsProductId": "MCG",
  "eeaDomesticRateQualificationIndicator": "Y",
  "status" : "S00002",
  "message" : "Success transaction",
  "httpStatus" : "OK"
}
Table 59. Authorize response fields
Path Type Description

transactionUuid

String

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

Request’s unique uuid in system

transactionStatus

String

Transaction status

responseCode

String

Response code

rrn

String

Retrieval Reference Number

stan

String

System Trace Audit Number (STAN)

provider

String

Card’s provider

banknetReferenceNumber

String

Unique data element, assigned by Mastercard, which identifies an authorization transaction. Available only for Mastercard transactions.

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard
DMC - Debit Mastercard
MSI - Maestro
CIR - Cirrus
PVL - Private Label

Card type for Visa:

C - Credit
D - Debit
P - Prepaid
H - Charge
R – Deferred Debit
Space – Not applicable

defaultCurrency

String

Default card currency

bankName

String

Bank name only for Mastercard

countryCardIssuing

String

Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3

Country card Issuing for Visa: - ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Mastercard:
- ISO 3166-1 Numeric

Country code numeric for Visa:
- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES
- CANADA
- LATINA_AMERICA_AND_THE_CARIBBEAN
- ASIA_PACIFIC
- EUROPE
- SOUTH_ASIA_MIDDLE_EAST_AFRICA
- ANY

Region for Visa:

1 = US
2 = Canada
3 = Visa Europe
4 = Asia-Pacific
5 = Latin America and Carribean
6 = CEMEA

gcmsProductId

String

Gcms product id only for Mastercard

This is the Product ID recognized by GCMS for the issuer account range and card program identifier combination. It may be different from the Licensed Product ID associated with the issuer account range and card program identifier combination.

eeaDomesticRateQualificationIndicator

String

EEA Domestic Rate Qualification Indicator only for Mastercard: Valid values:
Y = EEA Domestic Rate qualified
N = Not EEA Domestic Rate qualified

binType

String

Bin type only for VISA

F = Full Service
I = Issuer Only
M = Merchant Only
N = Nonfinancial
O = On Behalf Of (OBO)
P = Processor
S = SMS Financial entity
V = Visa Internal entity

domain

String

Domain only for VISA:

W = (Worldwide)
R = (Regional)
N = (National)
D = (Domestic)

productId

String

Product ID only for VISA.

This field contains the Product ID values:
A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C - Visa Signature, D - Visa Signature Preferred, DI - Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 - Visa Business Enhanced, G4 - Visa Infinite Business, G5 - Visa Business Rewards, I - Visa Infinite, I1 - Visa Infinite Privilege, I2 - Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T&E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 - Private Label Standard, Q4 - Private Label Enhanced, Q5 - Private Label Specialized, Q6 - Private Label Premium, R - Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 - Visa Government Purchasing with Fleet, S4 - Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

settlementMatch

String

Settlement match only for VISA:

B = (B2B)
E = B2E
Space = (Not applicable)

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

200 OK Visa
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "transactionUuid" : "9c6d8759-6e51-4b3d-a739-6d684d8cb6e4",
  "requestUuid" : "1f3c4006-6d44-4810-8c26-5c4583ae1e69",
  "transactionStatus" : "APPROVED",
  "responseCode" : "CODE_00",
  "rrn" : "007007614129",
  "stan" : "614129",
  "provider" : "VISA",
  "cardType" : "C",
  "defaultCurrency" : "USD",
  "countryCardIssuing": "US",
  "countryCodeNumeric": "840",
  "region": "1",
  "binType": "I",
  "domain": "W",
  "productId": "F",
  "settlementMatch": " ",
  "status" : "S00002",
  "message" : "Success transaction",
  "httpStatus" : "OK"
}
Table 60. Authorize response fields
Path Type Description

transactionUuid

String

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

Request’s unique uuid in system

transactionStatus

String

Transaction status

responseCode

String

Response code

rrn

String

Retrieval Reference Number

stan

String

System Trace Audit Number (STAN)

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard
DMC - Debit Mastercard
MSI - Maestro
CIR - Cirrus
PVL - Private Label

Card type for Visa:

C - Credit
D - Debit
P - Prepaid
H - Charge
R – Deferred Debit
Space – Not applicable

defaultCurrency

String

Default card currency

countryCardIssuing

String

Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3

Country card Issuing for Visa: - ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Mastercard:
- ISO 3166-1 Numeric

Country code numeric for Visa:
- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES
- CANADA
- LATINA_AMERICA_AND_THE_CARIBBEAN
- ASIA_PACIFIC
- EUROPE
- SOUTH_ASIA_MIDDLE_EAST_AFRICA
- ANY

Region for Visa:

1 = US
2 = Canada
3 = Visa Europe
4 = Asia-Pacific
5 = Latin America and Carribean
6 = CEMEA

binType

String

Bin type only for VISA

F = Full Service
I = Issuer Only
M = Merchant Only
N = Nonfinancial
O = On Behalf Of (OBO)
P = Processor
S = SMS Financial entity
V = Visa Internal entity

domain

String

Domain only for VISA:

W = (Worldwide)
R = (Regional)
N = (National)
D = (Domestic)

productId

String

Product ID only for VISA.

This field contains the Product ID values:
A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C - Visa Signature, D - Visa Signature Preferred, DI - Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 - Visa Business Enhanced, G4 - Visa Infinite Business, G5 - Visa Business Rewards, I - Visa Infinite, I1 - Visa Infinite Privilege, I2 - Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T&E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 - Private Label Standard, Q4 - Private Label Enhanced, Q5 - Private Label Specialized, Q6 - Private Label Premium, R - Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 - Visa Government Purchasing with Fleet, S4 - Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

settlementMatch

String

Settlement match only for VISA:

B = (B2B)
E = B2E
Space = (Not applicable)

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

400 BAD REQUEST
HTTP Response - STATUS: E80000
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:26 GMT
Connection: close
Content-Length: 640

{
  "errors" : {
    "expiryDate" : [ "must not be null", "invalid card expiration date", "must not be blank" ],
    "lastName" : [ "must not be blank", "must not be null" ],
    "firstName" : [ "must not be null", "may not be empty" ],
    "amount" : [ "must not be null" ],
    "merchantUuid" : [ "must not be null" ],
    "requestUuid" : [ "must not be null" ],
    "currency" : [ "must not be null" ],
    "cvc2" : [ "must not be null", "must not be blank" ],
    "tokenPan" : [ "must not be null", "must not be blank" ]
  },
  "status" : "E80000",
  "httpStatus" : "BAD_REQUEST",
  "traceId" : "77caa2c3-df04-4e07-bf56-b4b1d92b53f0"
}
Table 61. Response fields
Path Type Description

status

String

Response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

401 UNAUTHORIZED
HTTP Response - STATUS: E80002
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "timestamp": "2020-06-01T07:17:31.968+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/processor/payments/auth"
}
Table 62. Response fields
Path Type Description

timestamp

String

Time stamp

status

Number

Response code from Fenige system

error

String

Response http status

message

String

Message for response code from Fenige system

path

String

Path

409 Conflict
HTTP/1.1 409 Conflict
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "06396fa7-4281-40e2-970d-9894f91b5de6",
    "transactionUuid": "c3413be2-a66f-4437-945c-1b3a5258c857",
    "status": "E001598",
    "message": "Transaction rejected, transactionUUID already exists",
    "httpStatus": "CONFLICT",
    "traceId": "66cd08e1-9153-45be-9428-208f2e73ae99"
}
Table 63. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

422 UNPROCESSABLE ENTITY
HTTP Response - STATUS: E00158
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "aa23f94e-1dc4-468c-876d-dee3588daba9",
    "transactionUuid": "3a4b276a-84e9-4f5d-82e9-e20d8936c2c8",
    "status": "E00158",
    "message": "Returned when Cardholder Currency Indicator is invalid for DCC transaction.",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "7fd9be06-e12c-4abd-943b-52fb1d3735cf"
}
Table 64. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

500 INTERNAL SERVER ERROR
HTTP Response - STATUS: E90000
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "status": "E90000",
    "message": "Domain error",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "8c1d724c-f5ca-4543-aa8f-1db865bdf059"
}
HTTP Response - STATUS: E00153
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "1f1c4006-6d18-4810-8c26-5c1583ae1e92",
    "transactionUuid": "9c6d8759-6e51-4b3d-a739-6d684d8cb6e4",
    "transactionStatus": "DECLINED",
    "status": "E00153",
    "message": "Transaction declined, problem with MIP connection",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001597
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001597",
    "message": "Transaction declined, processing timeout",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
Table 65. Response fields
Path Type Description

requestUuid

String

Request unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

503 SERVICE UNAVAILABLE
HTTP Response - STATUS: E90001
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 267

{
    "requestUuid": "849343cf-a0c0-439b-a64d-476a7e5afbc6",
    "transactionUuid": "6d6463cf-d644-47b0-b285-d505784a9757",
    "transactionStatus": "ERROR",
    "status": "E90001",
    "message": "Error acquirer connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "eb3eb56f-2e01-4211-ba34-654b5a5f2c31"
}
HTTP Response - STATUS: E90002
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 267

{
    "requestUuid": "849343cf-a0c0-439b-a64d-476a7e5afbc6",
    "transactionUuid": "6d6463cf-d644-47b0-b285-d505784a9757",
    "transactionStatus": "ERROR",
    "status": "E90002",
    "message": "Error mpi connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "6675fab9-05a9-4158-b852-e5b15fe577ca"
}
Table 66. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

6.7. CoF payment

The CoF initial transaction can be performed with or without 3DS. On the Acquirer side there is the logic of processing CoF transactions - periodical subsequent calling and
remembering the card number and expiry date which is necessary to proceed subsequent transaction which no longer requires CVC or 3ds.
Payment with DCC (Dynamic Currency Conversion) transaction is a dynamic transaction amount conversion service available at payment terminals, enabling payment in the
currency of the country where the credit card was issued.
The difference between DCC payment and standard payment is on the side of the Acquirer, who must check the card's currencies and present them on request. The client chooses
from the available currencies (or the default currency is automatically selected). Then Acquirer performs a currency conversion on its side to the chosen currency and sends to FENIGE a request with a dcc object in which it places the converted amount in the currency chosen by the Client.

Since 16 May, Fenige has enabled the initialisation and processing of recurring transactions back to back with tokenised cards. An additional confirmation of authentication is provided by cryptographic data from mobile applications, which can be optionally provided in the paymentData object similar to the 7.6 Token Payment method.

CoF payment
cof payment request
CoF DCC payment
cof dcc payment request

6.7.1. CoF Initial

Request
CoF Initial
POST /processor/payments/cof/initial HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 373
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
  "requestUuid" : "722f93a7-51d1-4082-b5b0-ef23dcd18484",
  "amount" : 1000,
  "currency" : "USD",
  "cardNumber" : "545313******4417",
  "expiryDate" : "11/22",
  "cvc2" : "123",
  "autoClear" : true,
  "networkProgram" : true,
  "merchant" : {
  	"merchantId" : "4db50ee6-bcb4-43dd-8316-f5b38089bf0b",
  	"companyName" : "Company Name",
  	"city" : "Lublin",
  	"country" : "PL",
  	"homeNumber" : "10",
  	"street" : "Merchant street",
  	"streetNumber" : "11",
  	"postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14"
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "terminalPanEntryMode" : "LOW_VALUE_PAYMENT",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
  	"firstName" : "Mark",
  	"lastName" : "Smith",
  	"email" : "senderEmail@fenige.pl"
  },
  "outside3dsRequest" : {
  	"authenticationStatus" : "Y",
  	"cavv" : "jEu04WZns7pbARAApU4qgNdJTag=",
  	"eci" : "02",
  	"authenticationTime" : "20180703 16:55:28",
  	"cavvAlgorithm" : "3",
  	"transactionxId" : "124"
  }
}
Table 67. CoF Initial request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

amount

Number

@Must not be null

The total transfer amount (in pennies). If the amount is equal to zero there is sent account status inquiry to validate aspects of a cardholder account.

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

cvc2

String

@Optional, @Length must be 3 characters

Cardholder’s card cvc2

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

terminal.terminalPanEntryMode

String

@Must match to one of LOW_VALUE_PAYMENT, ACQUIRER_LOW_FRAUD_AND_TRANSACTION_RISK_ANALYSIS, TRUSTED_MERCHANT_EXEMPTION, DELEGATED_AUTHENTICATION, SECURE_CORPORATE_PAYMENT or OUT_OF_SCOPE, can be null

OUT_OF_SCOPE - Country is outside EU

LOW_VALUE_PAYMENT - Country is EU and amount is less than 30 euro

ACQUIRER_LOW_FRAUD_AND_TRANSACTION_RISK_ANALYSIS - Country is EU and the amount is equal to or greater than 30 EUR

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

outside3dsRequest

Object

There are outside 3ds data authorization that have been send to our API. This is optional parameter. Without this parameter, transaction will be processed as a regular transaction without 3DS authorization.

outside3dsRequest.authenticationStatus

String

@must match Y or A or U, @Must not be null

Authentication status:

Y - (Full Authentication) - The customer was successfully authenticated.

A - (Successful Attempted Authentication) - Authentication was not available, but functionality was available to generate a proof of authentication attempt.

outside3dsRequest.cavv

String

@Must match the regular expression ^[j,h]{1}[\w,=]+$, @Size must be between 0 and 28 inclusive

Cardholder Authentication Verification Value

outside3dsRequest.eci

String

@Length must be between 1 and 2 inclusive, @Must match 00 or 01 or 02 or 05 or 06 or 07

Electronic Commerce Indicator: 5 (Visa) or 2 (SecureCode) - The cardholder was successfully authenticated. 6 (Visa) or 1 (SecureCode) - Authentication was attempted, but the cardholder was not enrolled. More info.

outside3dsRequest.authenticationTime

String

@Must be not null

Authentication date

outside3dsRequest.cavvAlgorithm

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Indicates the algorithm used to generate the AuthenticationCAVV value

0 - HMAC

1 - CVV

2 - CVV with ATN

3 - MasterCard SPA algorithm

outside3dsRequest.transactionxId

String

This field is required for 3DS 2.X, optional for 3DS 1.0

CoF DCC Initial
POST /processor/payments/cof/initial HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 373
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
  "requestUuid" : "722f93a7-51d1-4082-b5b0-ef23dcd18484",
  "amount" : 1000,
  "currency" : "PLN",
  "cardNumber" : "545313******4417",
  "expiryDate" : "11/22",
  "cvc2" : "123",
  "autoClear" : true,
  "networkProgram" : true,
  "dcc":{
	"cardholderAmount" : 224,
	"cardholderCurrency" : "EUR",
	"conversionRateCardholder" : 0.2247541
  },
  "merchant" : {
  	"merchantId" : "4db50ee6-bcb4-43dd-8316-f5b38089bf0b",
  	"companyName" : "Company Name",
  	"city" : "Lublin",
  	"country" : "PL",
  	"homeNumber" : "10",
  	"street" : "Merchant street",
  	"streetNumber" : "11",
  	"postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14",
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "terminalPanEntryMode" : "LOW_VALUE_PAYMENT",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
  	"firstName" : "Mark",
  	"lastName" : "Smith",
  	"email" : "senderEmail@fenige.pl"
  },
  "outside3dsRequest" : {
  	"authenticationStatus" : "Y",
  	"cavv" : "jEu04WZns7pbARAApU4qgNdJTag=",
  	"eci" : "02",
  	"authenticationTime" : "20180703 16:55:28",
  	"cavvAlgorithm" : "3",
  	"transactionxId" : "124"
  }
}
Table 68. CoF Initial request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in transaction currency

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19"

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

cvc2

String

@Optional, @Length must be 3 characters

Cardholder’s card cvc2

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

dcc

Object

@Must not be null

There are dcc data that have been send to our API

dcc.cardholderAmount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in cardholder dcc currency

dcc.cardholderCurrency

String

@Must not be null

Currency of cardholder card (in accordance with ISO-4217), example: USD

dcc.conversionRateCardholder

BigDecimal

@Must not be null

The rate used to convert the transaction amount to the cardholder billing amount

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

terminal.terminalPanEntryMode

String

@Must match to one of LOW_VALUE_PAYMENT, ACQUIRER_LOW_FRAUD_AND_TRANSACTION_RISK_ANALYSIS, TRUSTED_MERCHANT_EXEMPTION, DELEGATED_AUTHENTICATION, SECURE_CORPORATE_PAYMENT or OUT_OF_SCOPE, can be null

OUT_OF_SCOPE - Country is outside EU

LOW_VALUE_PAYMENT - Country is EU and amount is less than 30 euro

ACQUIRER_LOW_FRAUD_AND_TRANSACTION_RISK_ANALYSIS - Country is EU and the amount is equal to or greater than 30 EUR

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

outside3dsRequest

Object

There are outside 3ds data authorization that have been send to our API. This is optional parameter. Without this parameter, transaction will be processed as a regular transaction without 3DS authorization.

outside3dsRequest.authenticationStatus

String

@must match Y or A or U, @Must not be null

Authentication status:

Y - (Full Authentication) - The customer was successfully authenticated.

A - (Successful Attempted Authentication) - Authentication was not available, but functionality was available to generate a proof of authentication attempt.

outside3dsRequest.cavv

String

@Must match the regular expression ^[j,h]{1}[\w,=]+$, @Size must be between 0 and 28 inclusive

Cardholder Authentication Verification Value

outside3dsRequest.eci

String

@Length must be between 1 and 2 inclusive, @Must match 00 or 01 or 02 or 05 or 06 or 07

Electronic Commerce Indicator: 5 (Visa) or 2 (SecureCode) - The cardholder was successfully authenticated. 6 (Visa) or 1 (SecureCode) - Authentication was attempted, but the cardholder was not enrolled. More info.

outside3dsRequest.authenticationTime

String

@Must be not null

Authentication date

outside3dsRequest.cavvAlgorithm

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Indicates the algorithm used to generate the AuthenticationCAVV value

0 - HMAC

1 - CVV

2 - CVV with ATN

3 - MasterCard SPA algorithm

outside3dsRequest.transactionxId

String

This field is required for 3DS 2.X, optional for 3DS 1.0

CoF Token Initial
POST /processor/payments/cof/initial HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 373
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
  "requestUuid" : "722f93a7-51d1-4082-b5b0-ef23dcd18484",
  "amount" : 1000,
  "currency" : "PLN",
  "cardNumber" : "554422******4138", // token PAN
  "expiryDate" : "11/22",
  "autoClear" : true,
  "networkProgram" : true,
  "merchant" : {
  	"merchantId" : "4db50ee6-bcb4-43dd-8316-f5b38089bf0b",
  	"companyName" : "Company Name",
  	"city" : "Lublin",
  	"country" : "PL",
  	"homeNumber" : "10",
  	"street" : "Merchant street",
  	"streetNumber" : "11",
  	"postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14",
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "terminalLocation" : "HOME",
    "terminalPanEntryMode" : "LOW_VALUE_PAYMENT",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
  	"firstName" : "Mark",
  	"lastName" : "Smith",
  	"email" : "senderEmail@fenige.pl"
  },
  "paymentData" : {
    "onlinePaymentCryptogram" : "/0OL1zEABL+gk70RYJ8lMAABAAA=",
    "eciIndicator" : "02"
  }
}
Table 69. CoF Initial request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in transaction currency

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19"

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

cvc2

String

@Optional, @Length must be 3 characters

Cardholder’s card cvc2

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

terminal.terminalLocation

String

@Must not be null

Location of terminal - value must be set as HOME or PREMISES

terminal.terminalPanEntryMode

String

@Must match to one of LOW_VALUE_PAYMENT, ACQUIRER_LOW_FRAUD_AND_TRANSACTION_RISK_ANALYSIS, TRUSTED_MERCHANT_EXEMPTION, DELEGATED_AUTHENTICATION, SECURE_CORPORATE_PAYMENT or OUT_OF_SCOPE, can be null

OUT_OF_SCOPE - Country is outside EU

LOW_VALUE_PAYMENT - Country is EU and amount is less than 30 euro

ACQUIRER_LOW_FRAUD_AND_TRANSACTION_RISK_ANALYSIS - Country is EU and the amount is equal to or greater than 30 EUR

terminal.networkAssignedId

String

@Can be null @Length for Visa 6, @Length for Mastercard 10.

When mastercard transaction is with network program field must be present, for visa transaction with network program fields is optional

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

paymentData

Object

Payment tokenization data object

paymentData.onlinePaymentCryptogram

String

@Must not be empty, @Size must be between 0 and 28 inclusive

Payment secure cryptogram obtained during merchant card tokenization in mobile app. Base64 encoded payment crypto value.

paymentData.eciIndicator

String

@Length must be between 1 and 2 inclusive, @Must match 01 or 02 or 05 or 06 or 07, @Must not be null

Eci value returned only for tokens on the Visa card network. The value should be passed by merchant if present with payment cryptogram. Optional value.

Response status
Status Description

200 OK

Returned when transaction was successfully authorized.

400 BAD REQUEST

STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid.

401 UNAUTHORIZED

STATUS: E80002 - Returned when you are the problem with authorized to your PSP.

409 CONFLICT

STATUS: E001598 - Returned when transactionUUID already exists. STATUS: E001602 - Transaction rejected, initial uuid already exists.

422 UNPROCESSABLE ENTITY

STATUS: E00158 - Returned when Cardholder Currency Indicator is invalid for DCC transaction.

STATUS: E001599 - Returned when card expiration date is invalid.

STATUS: E001601 - Returned when transaction is with network program, but network assignedId is invalid.

500 INTERNAL SERVER ERROR

STATUS: E00153 - Returned when transaction is declined, by problem with MIP connection.

STATUS: E001597 - Returned when transaction declined, processing timeout.

STATUS: E90000 - Returned when reason is unknown.

503 SERVICE UNAVAILABLE

STATUS: E90001 - Returned when is error acquirer connection.

STATUS: E90002 - Returned when is error mpi connection.

200 OK Mastercard
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "transactionUuid" : "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
  "requestUuid" : "722f93a7-51d1-4082-b5b0-ef23dcd18484",
  "cofInitialUuid" : "dcb92bf3-9e11-456a-ad01-a6a42605a753",
  "transactionStatus" : "APPROVED",
  "responseCode" : "CODE_00",
  "rrn" : "007007614137",
  "stan" : "614137",
  "provider" : "MASTERCARD",
  "banknetReferenceNumber":"66KXFF"
  "cardType" : "DMC",
  "defaultCurrency" : "PLN",
  "bankName": "BANK MILLENNIUM S.A.",
  "countryCardIssuing": "POL",
  "countryCodeNumeric": "616",
  "region": "EUROPE",
  "gcmsProductId": "MCG",
  "eeaDomesticRateQualificationIndicator": "Y",
  "status" : "S00002",
  "message" : "Success transaction",
  "httpStatus" : "OK"
}
Path Type Description

transactionUuid

String

Transaction’s unique uuid in system

requestUuid

String

Request’s unique uuid in system

cofInitialUuid

String

Cof Initial unique uuid in system

transactionStatus

String

Transaction status

responseCode

String

Response code

rrn

String

Retrieval Reference Number

stan

String

System Trace Audit Number (STAN)

provider

String

Card’s provider

banknetReferenceNumber

String

Unique data element, assigned by Mastercard, which identifies an authorization transaction. Available only for Mastercard transactions.

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard
DMC - Debit Mastercard
MSI - Maestro
CIR - Cirrus
PVL - Private Label

Card type for Visa:

C - Credit
D - Debit
P - Prepaid
H - Charge
R – Deferred Debit
Space – Not applicable

defaultCurrency

String

Default card currency

bankName

String

Bank name only for Mastercard

countryCardIssuing

String

Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3

Country card Issuing for Visa: - ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Mastercard:
- ISO 3166-1 Numeric

Country code numeric for Visa:
- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES
- CANADA
- LATINA_AMERICA_AND_THE_CARIBBEAN
- ASIA_PACIFIC
- EUROPE
- SOUTH_ASIA_MIDDLE_EAST_AFRICA
- ANY

Region for Visa:

1 = US
2 = Canada
3 = Visa Europe
4 = Asia-Pacific
5 = Latin America and Carribean
6 = CEMEA

gcmsProductId

String

Gcms product id only for Mastercard

This is the Product ID recognized by GCMS for the issuer account range and card program identifier combination. It may be different from the Licensed Product ID associated with the issuer account range and card program identifier combination.

eeaDomesticRateQualificationIndicator

String

EEA Domestic Rate Qualification Indicator only for Mastercard: Valid values:
Y = EEA Domestic Rate qualified
N = Not EEA Domestic Rate qualified

binType

String

Bin type only for VISA

F = Full Service
I = Issuer Only
M = Merchant Only
N = Nonfinancial
O = On Behalf Of (OBO)
P = Processor
S = SMS Financial entity
V = Visa Internal entity

domain

String

Domain only for VISA:

W = (Worldwide)
R = (Regional)
N = (National)
D = (Domestic)

productId

String

Product ID only for VISA.

This field contains the Product ID values:
A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C - Visa Signature, D - Visa Signature Preferred, DI - Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 - Visa Business Enhanced, G4 - Visa Infinite Business, G5 - Visa Business Rewards, I - Visa Infinite, I1 - Visa Infinite Privilege, I2 - Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T&E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 - Private Label Standard, Q4 - Private Label Enhanced, Q5 - Private Label Specialized, Q6 - Private Label Premium, R - Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 - Visa Government Purchasing with Fleet, S4 - Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

settlementMatch

String

Settlement match only for VISA:

B = (B2B)
E = B2E
Space = (Not applicable)

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

200 OK Visa
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "transactionUuid" : "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
  "requestUuid" : "722f93a7-51d1-4082-b5b0-ef23dcd18484",
  "cofInitialUuid" : "dcb92bf3-9e11-456a-ad01-a6a42605a753",
  "transactionStatus" : "APPROVED",
  "responseCode" : "CODE_00",
  "rrn" : "007007614137",
  "stan" : "614137",
  "provider" : "VISA",
  "cardType" : "C",
  "defaultCurrency" : "USD",
  "countryCardIssuing": "US",
  "countryCodeNumeric": "840",
  "region": "1",
  "binType": "I",
  "domain": "W",
  "productId": "F",
  "settlementMatch": " ",
  "status" : "S00002",
  "message" : "Success transaction",
  "httpStatus" : "OK"
}
Table 70. Cof response fields
Path Type Description

transactionUuid

String

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

Request’s unique uuid in system

cofInitialUuid

String

Cof Initial unique uuid in system

transactionStatus

String

Transaction status

responseCode

String

Response code

rrn

String

Retrieval Reference Number

stan

String

System Trace Audit Number (STAN)

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard
DMC - Debit Mastercard
MSI - Maestro
CIR - Cirrus
PVL - Private Label

Card type for Visa:

C - Credit
D - Debit
P - Prepaid
H - Charge
R – Deferred Debit
Space – Not applicable

defaultCurrency

String

Default card currency

countryCardIssuing

String

Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3

Country card Issuing for Visa: - ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Mastercard:
- ISO 3166-1 Numeric

Country code numeric for Visa:
- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES
- CANADA
- LATINA_AMERICA_AND_THE_CARIBBEAN
- ASIA_PACIFIC
- EUROPE
- SOUTH_ASIA_MIDDLE_EAST_AFRICA
- ANY

Region for Visa:

1 = US
2 = Canada
3 = Visa Europe
4 = Asia-Pacific
5 = Latin America and Carribean
6 = CEMEA

binType

String

Bin type only for VISA

F = Full Service
I = Issuer Only
M = Merchant Only
N = Nonfinancial
O = On Behalf Of (OBO)
P = Processor
S = SMS Financial entity
V = Visa Internal entity

domain

String

Domain only for VISA:

W = (Worldwide)
R = (Regional)
N = (National)
D = (Domestic)

productId

String

Product ID only for VISA.

This field contains the Product ID values:
A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C - Visa Signature, D - Visa Signature Preferred, DI - Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 - Visa Business Enhanced, G4 - Visa Infinite Business, G5 - Visa Business Rewards, I - Visa Infinite, I1 - Visa Infinite Privilege, I2 - Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T&E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 - Private Label Standard, Q4 - Private Label Enhanced, Q5 - Private Label Specialized, Q6 - Private Label Premium, R - Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 - Visa Government Purchasing with Fleet, S4 - Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

settlementMatch

String

Settlement match only for VISA:

B = (B2B)
E = B2E
Space = (Not applicable)

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

400 BAD REQUEST
HTTP Response - STATUS: E80000
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:44 GMT
Connection: close
Content-Length: 265

{
  "errors": {
        "expiryDate": [
            "invalid card expiration date",
            "must not be blank",
            "must not be null"
        ],
        "transactionUuid": [
            "must not be null"
        ],
        "amount": [
            "must not be null"
        ],
        "sender": [
            "must not be null"
        ],
        "requestUuid": [
            "must not be null"
        ],
        "merchant": [
            "must not be null"
        ],
        "currency": [
            "must not be null"
        ],
        "cvc2": [
            "must not be blank",
            "must not be null"
        ],
        "cardNumber": [
            "must not be blank",
            "must not be null"
        ]
    },
  "status": "E80000",
  "httpStatus": "BAD_REQUEST",
  "traceId": "f77a09b4-86bb-4298-89ec-72c9cf754b95"
}
Table 71. Response fields Path
Path Type Description

status

String

Response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

401 UNAUTHORIZED
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "timestamp": "2020-06-01T07:17:31.968+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/processor/payments/cof/initial"
}
Table 72. Response fields
Path Type Description

timestamp

String

Time stamp

status

Number

Response code from Fenige system

error

String

Response http status

message

String

Message for response code from Fenige system

path

String

Path

409 Conflict
HTTP/1.1 409 Conflict
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "06396fa7-4281-40e2-970d-9894f91b5de6",
    "transactionUuid": "c3413be2-a66f-4437-945c-1b3a5258c857",
    "status": "E001598",
    "message": "Transaction rejected, transactionUUID already exists",
    "httpStatus": "CONFLICT",
    "traceId": "66cd08e1-9153-45be-9428-208f2e73ae99"
}
Table 73. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

422 UNPROCESSABLE ENTITY
HTTP Response - STATUS: E00158
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "aa23f94e-1dc4-468c-876d-dee3588daba9",
    "transactionUuid": "3a4b276a-84e9-4f5d-82e9-e20d8936c2c8",
    "status": "E00158",
    "message": "Returned when Cardholder Currency Indicator is invalid for DCC transaction.",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "7fd9be06-e12c-4abd-943b-52fb1d3735cf"
}
Table 74. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

500 INTERNAL SERVER ERROR
HTTP Response - STATUS: E90000
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "status": "E90000",
    "message": "Domain error",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "6b0249eb-9207-47fa-b50f-6eca28ea7e41"
}
HTTP Response - STATUS: E00153
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E00153",
    "message": "Transaction declined, problem with MIP connection",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001597
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001597",
    "message": "Transaction declined, processing timeout",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
Table 75. Response fields
Path Type Description

requestUuid

String

Request unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

503 SERVICE UNAVAILABLE
HTTP Response - STATUS: E90001
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 267

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "ERROR",
    "status": "E90001",
    "message": "Error acquirer connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "eb3eb56f-2e01-4211-ba34-654b5a5f2c31"
}
HTTP Response - STATUS: E90002
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 267

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "ERROR",
    "status": "E90002",
    "message": "Error mpi connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "6675fab9-05a9-4158-b852-e5b15fe577ca"
}
Table 76. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

6.7.2. CoF Subsequent

Request
CoF Subsequent
POST /processor/payments/cof/subsequent HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 373
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "441ccd41-1b53-4a00-898c-ffb5874ad7d9",
  "requestUuid" : "d01f6e00-b848-4c7e-b822-f41292f40515",
  "cofInitialUuid" : "dcb92bf3-9e11-456a-ad01-a6a42605a753",
  "transactionInitiator" : "CIT",
  "amount" : 1000,
  "currency" : "USD",
  "cardNumber" : "545313******4417",
  "expiryDate" : "11/22",
  "autoClear" : true,
  "networkProgram" : true,
  "merchant" : {
  	"merchantId" : "c1eaecc1-6a2b-45d0-bf23-71a22dd2f2f0",
  	"companyName" : "Company Name",
  	"city" : "Lublin",
  	"country" : "PL",
  	"homeNumber" : "10",
  	"street" : "Merchant street",
  	"streetNumber" : "11",
  	"postalCode" : "24-110",
  	"subdivision": "06",
  	"taxId": "PL9111158900",
  	"partnershipAgreement": "MC0001",
  	"contactPhoneNumber": "48587604859",
  	"supportPhoneNumber": "48587604844",
  	"serviceCity": "Warszawa",
  	"serviceCountry": "PL",
  	"servicePostalCode": "01-262",
  	"serviceSubdivision": "14"
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
  	"firstName" : "Mark",
  	"lastName" : "Smith",
  	"email" : "senderEmail@fenige.pl"
  },
  "outside3dsRequest" : {
  	"authenticationStatus" : "Y",
  	"cavv" : "jEu04WZns7pbARAApU4qgNdJTag=",
  	"eci" : "02",
  	"authenticationTime" : "20180703 16:55:28",
  	"cavvAlgorithm" : "3",
  	"transactionxId" : "124"
  }
}
Table 77. Cof Subsequent request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

cofInitialUuid

String

@Must not be null

CoF Initial unique uuid in system

transactionInitiator

String

@Must not be null

Depends on CoF processing source selection may be MIT - merchant initiated or CIT - cardholder initiated.

For CIT - cardholder initiated type request can be processed using optional 3ds authentication, using authentication data provided in outside3dsRequest

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies)

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

Must be the same as used in CoF initial

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

outside3dsRequest

Object

There are outside 3ds data authorization that have been send to our API. This is optional parameter for CIT subsequent transactions. only in case if 3DS authenticationStatus is Y or A, then transaction will be realized.

outside3dsRequest.authenticationStatus

String

@Must match Y or A, @Must not be null

Authentication status:

Y - (Full Authentication) - The customer was successfully authenticated.

A - (Successful Attempted Authentication) - Authentication was not available, but functionality was available to generate a proof of authentication attempt.

outside3dsRequest.cavv

String

@Must match the regular expression ^[j,h]{1}[\w,=]+$, @Size must be between 0 and 28 inclusive

Cardholder Authentication Verification Value

outside3dsRequest.eci

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Electronic Commerce Indicator: 5 (Visa) or 2 (SecureCode) - The cardholder was successfully authenticated. 6 (Visa) or 1 (SecureCode) - Authentication was attempted, but the cardholder was not enrolled. Chargeback protection applies.

outside3dsRequest.authenticationTime

String

@Must be not null

Authentication date

outside3dsRequest.cavvAlgorithm

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Indicates the algorithm used to generate the AuthenticationCAVV value

0 - HMAC

1 - CVV

2 - CVV with ATN

3 - MasterCard SPA algorithm

outside3dsRequest.transactionxId

String

This field is required for 3DS 2.X, optional for 3DS 1.0

CoF DCC Subsequent
POST /processor/payments/cof/subsequent HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 373
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "441ccd41-1b53-4a00-898c-ffb5874ad7d9",
  "requestUuid" : "d01f6e00-b848-4c7e-b822-f41292f40515",
  "cofInitialUuid" : "dcb92bf3-9e11-456a-ad01-a6a42605a753",
  "transactionInitiator" : "MIT",
  "amount" : 1000,
  "currency" : "PLN",
  "cardNumber" : "545313******4417",
  "expiryDate" : "11/22",
  "autoClear" : true,
  "networkProgram" : true,
  "dcc":{
	"cardholderAmount" : 224,
	"cardholderCurrency" : "EUR",
	"conversionRateCardholder" : 0.2247541
  },
  "merchant" : {
  	"merchantId" : "c1eaecc1-6a2b-45d0-bf23-71a22dd2f2f0",
  	"companyName" : "Company Name",
  	"city" : "Lublin",
  	"country" : "PL",
  	"homeNumber" : "10",
  	"street" : "Merchant street",
  	"streetNumber" : "11",
  	"postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14",
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
  	"firstName" : "Mark",
  	"lastName" : "Smith",
  	"email" : "senderEmail@fenige.pl"
  },
  "outside3dsRequest" : {
  	"authenticationStatus" : "Y",
  	"cavv" : "jEu04WZns7pbARAApU4qgNdJTag=",
  	"eci" : "02",
  	"authenticationTime" : "20180703 16:55:28",
  	"cavvAlgorithm" : "3",
  	"transactionxId" : "124"
  }
}
Table 78. Cof Subsequent request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

cofInitialUuid

String

@Must not be null

CoF Initial unique uuid in system

transactionInitiator

String

@Must not be null

Depends on CoF processing source selection may be MIT - merchant initiated or CIT - cardholder initiated.

For CIT - cardholder initiated type request can be processed using optional 3ds authentication, using authentication data provided in outside3dsRequest

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in transaction currency

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19"

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

dcc

Object

@Must not be null

There are dcc data that have been send to our API

dcc.cardholderAmount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in cardholder dcc currency

dcc.cardholderCurrency

String

@Must not be null

Currency of cardholder card (in accordance with ISO-4217), example: USD

dcc.conversionRateCardholder

BigDecimal

@Must not be null

The rate used to convert the transaction amount to the cardholder billing amount

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

outside3dsRequest

Object

There are outside 3ds data authorization that have been send to our API. This is optional parameter for CIT subsequent transactions. only in case if 3DS authenticationStatus is Y or A, then transaction will be realized.

outside3dsRequest.authenticationStatus

String

@Must match Y or A, @Must not be null

Authentication status:

Y - (Full Authentication) - The customer was successfully authenticated.

A - (Successful Attempted Authentication) - Authentication was not available, but functionality was available to generate a proof of authentication attempt.

outside3dsRequest.cavv

String

@Must match the regular expression ^[j,h]{1}[\w,=]+$, @Size must be between 0 and 28 inclusive

Cardholder Authentication Verification Value

outside3dsRequest.eci

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Electronic Commerce Indicator: 5 (Visa) or 2 (SecureCode) - The cardholder was successfully authenticated. 6 (Visa) or 1 (SecureCode) - Authentication was attempted, but the cardholder was not enrolled. Chargeback protection applies.

outside3dsRequest.authenticationTime

String

@Must be not null

Authentication date

outside3dsRequest.cavvAlgorithm

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Indicates the algorithm used to generate the AuthenticationCAVV value

0 - HMAC

1 - CVV

2 - CVV with ATN

3 - MasterCard SPA algorithm

outside3dsRequest.transactionxId

String

This field is required for 3DS 2.X, optional for 3DS 1.0

CoF Token Subsequent
POST /processor/payments/cof/subsequent HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 373
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "441ccd41-1b53-4a00-898c-ffb5874ad7d9",
  "requestUuid" : "d01f6e00-b848-4c7e-b822-f41292f40515",
  "cofInitialUuid" : "dcb92bf3-9e11-456a-ad01-a6a42605a753",
  "transactionInitiator" : "MIT",
  "amount" : 1000,
  "currency" : "PLN",
  "cardNumber" : "554422******4138",
  "expiryDate" : "11/22",
  "autoClear" : true,
  "networkProgram" : true,
  "merchant" : {
  	"merchantId" : "c1eaecc1-6a2b-45d0-bf23-71a22dd2f2f0",
  	"companyName" : "Company Name",
  	"city" : "Lublin",
  	"country" : "PL",
  	"homeNumber" : "10",
  	"street" : "Merchant street",
  	"streetNumber" : "11",
  	"postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14",
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
  	"firstName" : "Mark",
  	"lastName" : "Smith",
  	"email" : "senderEmail@fenige.pl"
  },
  "paymentData" : {
    "onlinePaymentCryptogram" : "/0OL1zEABL+gk70RYJ8lMAABAAA=",
    "eciIndicator" : "02"
  }
}
Table 79. Cof Subsequent request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

cofInitialUuid

String

@Must not be null

CoF Initial unique uuid in system

transactionInitiator

String

@Must not be null

Depends on CoF processing source selection may be MIT - merchant initiated or CIT - cardholder initiated.

For CIT - cardholder initiated type request can be processed using optional 3ds authentication, using authentication data provided in outside3dsRequest

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in transaction currency

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19"

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

terminal.networkAssignedId

String

@Can be null @Length for Visa 6, @Length for Mastercard 10.

When mastercard transaction is with network program field must be present, for visa transaction with network program fields is optional

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

paymentData

Object

Payment tokenization data object

paymentData.onlinePaymentCryptogram

String

@Must not be empty, @Size must be between 0 and 28 inclusive

Payment secure cryptogram obtained during merchant card tokenization in mobile app. Base64 encoded payment crypto value.

paymentData.eciIndicator

String

@Length must be between 1 and 2 inclusive, @Must match 01 or 02 or 05 or 06 or 07, @Must not be null

Eci value returned only for tokens on the Visa card network. The value should be passed by merchant if present with payment cryptogram. Optional value

CoF Subsequent with external trace id
POST /processor/payments/cof/subsequent HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 373
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "441ccd41-1b53-4a00-898c-ffb5874ad7d9",
  "requestUuid" : "d01f6e00-b848-4c7e-b822-f41292f40515",
  "traceId" : "abc123def1234",
  "transactionInitiator" : "CIT",
  "amount" : 1000,
  "currency" : "USD",
  "cardNumber" : "545313******4417",
  "expiryDate" : "11/22",
  "autoClear" : true,
  "merchant" : {
  	"merchantId" : "c1eaecc1-6a2b-45d0-bf23-71a22dd2f2f0",
  	"companyName" : "Company Name",
  	"city" : "Lublin",
  	"country" : "PL",
  	"homeNumber" : "10",
  	"street" : "Merchant street",
  	"streetNumber" : "11",
  	"postalCode" : "24-110",
  	"subdivision": "06",
  	"taxId": "PL9111158900",
  	"partnershipAgreement": "MC0001",
  	"contactPhoneNumber": "48587604859",
  	"supportPhoneNumber": "48587604844",
  	"serviceCity": "Warszawa",
  	"serviceCountry": "PL",
  	"servicePostalCode": "01-262",
  	"serviceSubdivision": "14"
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111"
  },
  "sender" : {
  	"firstName" : "Mark",
  	"lastName" : "Smith",
  	"email" : "senderEmail@fenige.pl"
  },
  "outside3dsRequest" : {
  	"authenticationStatus" : "Y",
  	"cavv" : "jEu04WZns7pbARAApU4qgNdJTag=",
  	"eci" : "02",
  	"authenticationTime" : "20180703 16:55:28",
  	"cavvAlgorithm" : "3",
  	"transactionxId" : "124"
  }
}
Table 80. Cof Subsequent request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

traceId

String

@Must not be null, @Must not be blank, @Length must be between 1 and 13

External trace id

transactionInitiator

String

@Must not be null

Depends on CoF processing source selection may be MIT - merchant initiated or CIT - cardholder initiated.

For CIT - cardholder initiated type request can be processed using optional 3ds authentication, using authentication data provided in outside3dsRequest

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies)

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

Must be the same as used in CoF initial

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

outside3dsRequest

Object

There are outside 3ds data authorization that have been send to our API. This is optional parameter for CIT subsequent transactions. only in case if 3DS authenticationStatus is Y or A, then transaction will be realized.

outside3dsRequest.authenticationStatus

String

@Must match Y or A, @Must not be null

Authentication status:

Y - (Full Authentication) - The customer was successfully authenticated.

A - (Successful Attempted Authentication) - Authentication was not available, but functionality was available to generate a proof of authentication attempt.

outside3dsRequest.cavv

String

@Must match the regular expression ^[j,h]{1}[\w,=]+$, @Size must be between 0 and 28 inclusive

Cardholder Authentication Verification Value

outside3dsRequest.eci

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Electronic Commerce Indicator: 5 (Visa) or 2 (SecureCode) - The cardholder was successfully authenticated. 6 (Visa) or 1 (SecureCode) - Authentication was attempted, but the cardholder was not enrolled. Chargeback protection applies.

outside3dsRequest.authenticationTime

String

@Must be not null

Authentication date

outside3dsRequest.cavvAlgorithm

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Indicates the algorithm used to generate the AuthenticationCAVV value

0 - HMAC

1 - CVV

2 - CVV with ATN

3 - MasterCard SPA algorithm

outside3dsRequest.transactionxId

String

This field is required for 3DS 2.X, optional for 3DS 1.0

Response status
Status Description

200 OK

Returned when transaction was successfully authorized.

400 BAD REQUEST

STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid.

401 UNAUTHORIZED

STATUS: E80002 - Returned when you are the problem with authorized to your PSP.

409 CONFLICT

STATUS: E001598 - Returned when transactionUUID already exists.

422 UNPROCESSABLE ENTITY

STATUS: E00158 - Returned when Cardholder Currency Indicator is invalid for DCC transaction.

STATUS: E001599 - Returned when card expiration date is invalid.

STATUS: E001591 - Returned when merchantId from CoF subsequent is not the same as in initial.

STATUS: E001601 - Returned when transaction is with network program, but network assignedId is invalid.

500 INTERNAL SERVER ERROR

STATUS: E00153 - Returned when transaction is declined, by problem with MIP connection.

STATUS: E001597 - Returned when transaction declined, processing timeout.

STATUS: E90000 - Returned when reason is unknown.

503 SERVICE UNAVAILABLE

STATUS: E90001 - Returned when is error acquirer connection.

STATUS: E90002 - Returned when is error mpi connection.

200 OK Mastercard
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "transactionUuid" : "a441ccd41-1b53-4a00-898c-ffb5874ad7d9",
  "requestUuid" : "d01f6e00-b848-4c7e-b822-f41292f40515",
  "cofInitialUuid" : "82d5cb00-6435-4428-b8b2-d3c3b3a71936",
  "transactionStatus" : "APPROVED",
  "responseCode" : "CODE_00",
  "rrn" : "007007614137",
  "stan" : "614137",
  "provider" : "MASTERCARD",
  "banknetReferenceNumber":"66KXFF"
  "cardType" : "DMC",
  "defaultCurrency" : "PLN",
  "bankName": "BANK MILLENNIUM S.A.",
  "countryCardIssuing": "POL",
  "countryCodeNumeric": "616",
  "region": "EUROPE",
  "gcmsProductId": "MCG",
  "eeaDomesticRateQualificationIndicator": "Y",
  "status" : "S00002",
  "message" : "Success transaction",
  "httpStatus" : "OK"
}
Path Type Description

transactionUuid

String

Transaction’s unique uuid in system

requestUuid

String

Request’s unique uuid in system

cofInitialUuid

String

Cof Initial unique uuid in system

transactionStatus

String

Transaction status

responseCode

String

Response code

rrn

String

Retrieval Reference Number

stan

String

System Trace Audit Number (STAN)

provider

String

Card’s provider

banknetReferenceNumber

String

Unique data element, assigned by Mastercard, which identifies an authorization transaction. Available only for Mastercard transactions.

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard
DMC - Debit Mastercard
MSI - Maestro
CIR - Cirrus
PVL - Private Label

Card type for Visa:

C - Credit
D - Debit
P - Prepaid
H - Charge
R – Deferred Debit
Space – Not applicable

defaultCurrency

String

Default card currency

bankName

String

Bank name only for Mastercard

countryCardIssuing

String

Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3

Country card Issuing for Visa: - ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Mastercard:
- ISO 3166-1 Numeric

Country code numeric for Visa:
- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES
- CANADA
- LATINA_AMERICA_AND_THE_CARIBBEAN
- ASIA_PACIFIC
- EUROPE
- SOUTH_ASIA_MIDDLE_EAST_AFRICA
- ANY

Region for Visa:

1 = US
2 = Canada
3 = Visa Europe
4 = Asia-Pacific
5 = Latin America and Carribean
6 = CEMEA

gcmsProductId

String

Gcms product id only for Mastercard

This is the Product ID recognized by GCMS for the issuer account range and card program identifier combination. It may be different from the Licensed Product ID associated with the issuer account range and card program identifier combination.

eeaDomesticRateQualificationIndicator

String

EEA Domestic Rate Qualification Indicator only for Mastercard: Valid values:
Y = EEA Domestic Rate qualified
N = Not EEA Domestic Rate qualified

binType

String

Bin type only for VISA

F = Full Service
I = Issuer Only
M = Merchant Only
N = Nonfinancial
O = On Behalf Of (OBO)
P = Processor
S = SMS Financial entity
V = Visa Internal entity

domain

String

Domain only for VISA:

W = (Worldwide)
R = (Regional)
N = (National)
D = (Domestic)

productId

String

Product ID only for VISA.

This field contains the Product ID values:
A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C - Visa Signature, D - Visa Signature Preferred, DI - Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 - Visa Business Enhanced, G4 - Visa Infinite Business, G5 - Visa Business Rewards, I - Visa Infinite, I1 - Visa Infinite Privilege, I2 - Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T&E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 - Private Label Standard, Q4 - Private Label Enhanced, Q5 - Private Label Specialized, Q6 - Private Label Premium, R - Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 - Visa Government Purchasing with Fleet, S4 - Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

settlementMatch

String

Settlement match only for VISA:

B = (B2B)
E = B2E
Space = (Not applicable)

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

200 OK Visa
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "transactionUuid" : "a441ccd41-1b53-4a00-898c-ffb5874ad7d9",
  "requestUuid" : "d01f6e00-b848-4c7e-b822-f41292f40515",
  "cofInitialUuid" : "82d5cb00-6435-4428-b8b2-d3c3b3a71936",
  "transactionStatus" : "APPROVED",
  "responseCode" : "CODE_00",
  "rrn" : "007007614137",
  "stan" : "614137",
  "provider" : "VISA",
  "cardType" : "D",
  "defaultCurrency" : "USD",
  "countryCardIssuing": "US",
  "countryCodeNumeric": "840",
  "region": "1",
  "binType": "I",
  "domain": "W",
  "productId": "F",
  "settlementMatch": " ",
  "status" : "S00002",
  "message" : "Success transaction",
  "httpStatus" : "OK"
}
Table 81. Cof Subsequent response fields
Path Type Description

transactionUuid

String

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

Request’s unique uuid in system

cofInitialUuid

String

Cof Initial unique uuid in system

transactionStatus

String

Transaction status

responseCode

String

Response code

rrn

String

Retrieval Reference Number

stan

String

System Trace Audit Number (STAN)

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard
DMC - Debit Mastercard
MSI - Maestro
CIR - Cirrus
PVL - Private Label

Card type for Visa:

C - Credit
D - Debit
P - Prepaid
H - Charge
R – Deferred Debit
Space – Not applicable

defaultCurrency

String

Default card currency

countryCardIssuing

String

Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3

Country card Issuing for Visa: - ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Mastercard:
- ISO 3166-1 Numeric

Country code numeric for Visa:
- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES
- CANADA
- LATINA_AMERICA_AND_THE_CARIBBEAN
- ASIA_PACIFIC
- EUROPE
- SOUTH_ASIA_MIDDLE_EAST_AFRICA
- ANY

Region for Visa:

1 = US
2 = Canada
3 = Visa Europe
4 = Asia-Pacific
5 = Latin America and Carribean
6 = CEMEA

binType

String

Bin type only for VISA

F = Full Service
I = Issuer Only
M = Merchant Only
N = Nonfinancial
O = On Behalf Of (OBO)
P = Processor
S = SMS Financial entity
V = Visa Internal entity

domain

String

Domain only for VISA:

W = (Worldwide)
R = (Regional)
N = (National)
D = (Domestic)

productId

String

Product ID only for VISA.

This field contains the Product ID values:
A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C - Visa Signature, D - Visa Signature Preferred, DI - Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 - Visa Business Enhanced, G4 - Visa Infinite Business, G5 - Visa Business Rewards, I - Visa Infinite, I1 - Visa Infinite Privilege, I2 - Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T&E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 - Private Label Standard, Q4 - Private Label Enhanced, Q5 - Private Label Specialized, Q6 - Private Label Premium, R - Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 - Visa Government Purchasing with Fleet, S4 - Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

settlementMatch

String

Settlement match only for VISA:

B = (B2B)
E = B2E
Space = (Not applicable)

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

400 BAD REQUEST
HTTP Response - STATUS: E80000
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:44 GMT
Connection: close
Content-Length: 265

{
    "errors": {
        "expiryDate": [
            "must not be null",
            "must not be blank",
            "invalid card expiration date"
        ],
        "transactionUuid": [
            "must not be null"
        ],
        "amount": [
            "must not be null"
        ],
        "sender": [
            "must not be null"
        ],
        "requestUuid": [
            "must not be null"
        ],
        "merchant": [
            "must not be null"
        ],
        "currency": [
            "must not be null"
        ],
        "cardNumber": [
            "must not be null",
            "must not be blank"
        ],
        "cofInitialUuid": [
            "must not be null"
        ]
    },
    "status": "E80000",
    "httpStatus": "BAD_REQUEST",
    "traceId": "4291a1fd-03d8-48d5-a773-7fd32c661b12"
}
Table 82. Response fields Path
Path Type Description

status

String

Response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

401 UNAUTHORIZED
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "timestamp": "2020-06-01T07:17:31.968+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/processor/payments/cof/subsequent"
}
Table 83. Response fields
Path Type Description

timestamp

String

Time stamp

status

Number

Response code from Fenige system

error

String

Response http status

message

String

Message for response code from Fenige system

path

String

Path

409 Conflict
HTTP/1.1 409 Conflict
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "06396fa7-4281-40e2-970d-9894f91b5de6",
    "transactionUuid": "c3413be2-a66f-4437-945c-1b3a5258c857",
    "status": "E001598",
    "message": "Transaction rejected, transactionUUID already exists",
    "httpStatus": "CONFLICT",
    "traceId": "66cd08e1-9153-45be-9428-208f2e73ae99"
}
Table 84. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

422 UNPROCESSABLE ENTITY
HTTP Response - STATUS: E00157
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 6 Dec 2021 11:43:57 GMT

{
    "requestUuid": "aa23f94e-1dc4-468c-876d-dee3588daba9",
    "transactionUuid": "3a4b276a-84e9-4f5d-82e9-e20d8936c2c8",
    "status": "E00157",
    "message": "Transaction rejected, transactionInitiator type not allowed for transaction",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "7fd9be06-e12c-4abd-943b-52fb1d3735cf"
}
HTTP Response - STATUS: E00158
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "aa23f94e-1dc4-468c-876d-dee3588daba9",
    "transactionUuid": "3a4b276a-84e9-4f5d-82e9-e20d8936c2c8",
    "status": "E00158",
    "message": "Returned when Cardholder Currency Indicator is invalid for DCC transaction.",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "7fd9be06-e12c-4abd-943b-52fb1d3735cf"
}
HTTP Response - STATUS: E00159
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "aa23f94e-1dc4-468c-876d-dee3588daba9",
    "transactionUuid": "3a4b276a-84e9-4f5d-82e9-e20d8936c2c8",
    "status": "E00159",
    "message": "Transaction rejected, initial CoF transaction not approved/exist",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "7fd9be06-e12c-4abd-943b-52fb1d3735cf"
}
HTTP Response - STATUS: E001591
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "REJECTED",
    "status": "E001591",
    "message": "Transaction rejected, invalid initial CoF merchantId",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
Table 85. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

500 INTERNAL SERVER ERROR
HTTP Response - STATUS: E90000
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "status": "E90000",
    "message": "Domain error",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "6b0249eb-9207-47fa-b50f-6eca28ea7e41"
}
HTTP Response - STATUS: E00153
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "d01f6e00-b848-4c7e-b822-f41292f40515",
    "transactionUuid": "441ccd41-1b53-4a00-898c-ffb5874ad7d9",
    "transactionStatus": "DECLINED",
    "status": "E00153",
    "message": "Transaction declined, problem with MIP connection",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001597
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001597",
    "message": "Transaction declined, processing timeout",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
Table 86. Response fields
Path Type Description

requestUuid

String

Request unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

503 SERVICE UNAVAILABLE
HTTP Response - STATUS: E90001
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 267

{
    "requestUuid": "d01f6e00-b848-4c7e-b822-f41292f40515",
    "transactionUuid": "441ccd41-1b53-4a00-898c-ffb5874ad7d9",
    "transactionStatus": "ERROR",
    "status": "E90001",
    "message": "Error acquirer connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "b8225c58-ca26-43e3-9d62-735979721abb"
}
HTTP Response - STATUS: E90002
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 267

{
    "requestUuid": "d01f6e00-b848-4c7e-b822-f41292f40515",
    "transactionUuid": "441ccd41-1b53-4a00-898c-ffb5874ad7d9",
    "transactionStatus": "ERROR",
    "status": "E90002",
    "message": "Error mpi connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "6675fab9-05a9-4158-b852-e5b15fe577ca"
}
Table 87. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

6.8. Recurring payment

Recurring Initial transaction must always be done with 3DS authorization. On the Acquirer side there is the logic of processing Recurring transactions - periodical
subsequent calling and remembering the card number and expiry date which is necessary to proceed subsequent transaction which no longer requires CVC or 3ds.
Payment with DCC (Dynamic Currency Conversion) transaction is a dynamic transaction amount conversion service available at payment terminals, enabling payment in the
currency of the country where the credit card was issued.
The difference between DCC payment and standard payment is on the side of the Acquirer, who must check the card's currencies and present them on request. The client chooses
from the available currencies (or the default currency is automatically selected). Then Acquirer performs a currency conversion on its side to the chosen currency and sends to FENIGE a request with a dcc object in which it places the converted amount in the currency chosen by the Client.

Since 16 May, Fenige has enabled the initialisation and processing of recurring transactions back to back with tokenised cards. An additional confirmation of authentication is provided by cryptographic data from mobile applications, which can be optionally provided in the paymentData object similar to the 7.6 Token Payment method.

Recurring payment
recurring payment request
Recurring DCC payment
recurring dcc payment request

6.8.1. Recurring Initial

Request
Recurring Initial
POST /processor/payments/recurring/initial HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 373
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "03df773b-b9cf-44e6-bb02-392874ec12d0",
  "requestUuid" : "b8d59b30-a8a4-4524-9089-4844ed383605",
  "amount" : 1000,
  "currency" : "USD",
  "cardNumber" : "545313******4417",
  "expiryDate" : "11/22",
  "cvc2" : "123",
  "autoClear" : true,
  "networkProgram" : true,
  "merchant" : {
  	"merchantId" : "7828472b-ca22-47b8-b994-a628415d8b69",
  	"companyName" : "Company Name",
  	"city" : "Lublin",
  	"country" : "PL",
  	"homeNumber" : "10",
  	"street" : "Merchant street",
  	"streetNumber" : "11",
  	"postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14"
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
  	"firstName" : "Mark",
  	"lastName" : "Smith",
  	"email" : "senderEmail@fenige.pl"
  },
  "outside3dsRequest" : {
  	"authenticationStatus" : "Y",
  	"cavv" : "jEu04WZns7pbARAApU4qgNdJTag=",
  	"eci" : "02",
  	"authenticationTime" : "20180703 16:55:28",
  	"cavvAlgorithm" : "3",
  	"transactionxId" : "124"
  }
}
Table 88. Recurring Initial request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

amount

Number

@Must not be null

The total transfer amount (in pennies). If the amount is equal to zero there is sent account status inquiry to validate aspects of a cardholder account.

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19"

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

cvc2

String

@Length must be 3 characters, @Must not be blank, @Must not be null

Cardholder’s card cvc2

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

outside3dsRequest

Object

There are outside 3ds data authorization that have been send to our API. This is a required parameter. only in case if 3DS authenticationStatus is Y or A, then transaction will be realized.

outside3dsRequest.authenticationStatus

String

@must match Y or A or U, @Must not be null

Authentication status:

Y - (Full Authentication) - The customer was successfully authenticated.

A - (Successful Attempted Authentication) - Authentication was not available, but functionality was available to generate a proof of authentication attempt.

outside3dsRequest.cavv

String

@Must match the regular expression ^[j,h]{1}[\w,=]+$, @Size must be between 0 and 28 inclusive

Cardholder Authentication Verification Value

outside3dsRequest.eci

String

@Length must be between 1 and 2 inclusive, @Must match 00 or 01 or 02 or 05 or 06 or 07

Electronic Commerce Indicator: 5 (Visa) or 2 (SecureCode) - The cardholder was successfully authenticated. 6 (Visa) or 1 (SecureCode) - Authentication was attempted, but the cardholder was not enrolled. More info.

outside3dsRequest.authenticationTime

String

@Must be not null

Authentication date

outside3dsRequest.cavvAlgorithm

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Indicates the algorithm used to generate the AuthenticationCAVV value

0 - HMAC

1 - CVV

2 - CVV with ATN

3 - MasterCard SPA algorithm

outside3dsRequest.transactionxId

String

This field is required for 3DS 2.X, optional for 3DS 1.0

Recurring DCC Initial
POST /processor/payments/recurring/initial HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 373
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "03df773b-b9cf-44e6-bb02-392874ec12d0",
  "requestUuid" : "b8d59b30-a8a4-4524-9089-4844ed383605",
  "amount" : 1000,
  "currency" : "PLN",
  "cardNumber" : "545313******4417",
  "expiryDate" : "11/22",
  "cvc2" : "123",
  "autoClear" : true,
  "networkProgram" : true,
  "dcc":{
	"cardholderAmount" : 224,
	"cardholderCurrency" : "EUR",
	"conversionRateCardholder" : 0.2247541
  },
  "merchant" : {
  	"merchantId" : "7828472b-ca22-47b8-b994-a628415d8b69",
  	"companyName" : "Company Name",
  	"city" : "Lublin",
  	"country" : "PL",
  	"homeNumber" : "10",
  	"street" : "Merchant street",
  	"streetNumber" : "11",
  	"postalCode" : "24-110"
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14",
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
  	"firstName" : "Mark",
  	"lastName" : "Smith",
  	"email" : "senderEmail@fenige.pl"
  },
  "outside3dsRequest" : {
  	"authenticationStatus" : "Y",
  	"cavv" : "jEu04WZns7pbARAApU4qgNdJTag=",
  	"eci" : "02",
  	"authenticationTime" : "20180703 16:55:28",
  	"cavvAlgorithm" : "3",
  	"transactionxId" : "124"
  }
}
Table 89. Recurring Initial request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in transaction currency

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19"

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

cvc2

String

@Length must be 3 characters, @Must not be blank, @Must not be null

Cardholder’s card cvc2

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

dcc

Object

@Must not be null

There are dcc data that have been send to our API

dcc.cardholderAmount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in cardholder dcc currency

dcc.cardholderCurrency

String

@Must not be null

Currency of cardholder card (in accordance with ISO-4217), example: USD

dcc.conversionRateCardholder

BigDecimal

@Must not be null

The rate used to convert the transaction amount to the cardholder billing amount

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

outside3dsRequest

Object

There are outside 3ds data authorization that have been send to our API. This is a required parameter. only in case if 3DS authenticationStatus is Y or A, then transaction will be realized.

outside3dsRequest.authenticationStatus

String

@must match Y or A or U, @Must not be null

Authentication status:

Y - (Full Authentication) - The customer was successfully authenticated.

A - (Successful Attempted Authentication) - Authentication was not available, but functionality was available to generate a proof of authentication attempt.

outside3dsRequest.cavv

String

@Must match the regular expression ^[j,h]{1}[\w,=]+$, @Size must be between 0 and 28 inclusive

Cardholder Authentication Verification Value

outside3dsRequest.eci

String

@Length must be between 1 and 2 inclusive, @Must match 00 or 01 or 02 or 05 or 06 or 07

Electronic Commerce Indicator: 5 (Visa) or 2 (SecureCode) - The cardholder was successfully authenticated. 6 (Visa) or 1 (SecureCode) - Authentication was attempted, but the cardholder was not enrolled. More info.

outside3dsRequest.authenticationTime

String

@Must be not null

Authentication date

outside3dsRequest.cavvAlgorithm

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Indicates the algorithm used to generate the AuthenticationCAVV value

0 - HMAC

1 - CVV

2 - CVV with ATN

3 - MasterCard SPA algorithm

outside3dsRequest.transactionxId

String

This field is required for 3DS 2.X, optional for 3DS 1.0

Recurring Token Initial
POST /processor/payments/recurring/initial HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 373
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "03df773b-b9cf-44e6-bb02-392874ec12d0",
  "requestUuid" : "b8d59b30-a8a4-4524-9089-4844ed383605",
  "amount" : 1000,
  "currency" : "PLN",
  "cardNumber" : "554422******4138",
  "expiryDate" : "11/22",
  "cvc2" : "123",
  "autoClear" : true,
  "networkProgram" : true,
  "merchant" : {
  	"merchantId" : "7828472b-ca22-47b8-b994-a628415d8b69",
  	"companyName" : "Company Name",
  	"city" : "Lublin",
  	"country" : "PL",
  	"homeNumber" : "10",
  	"street" : "Merchant street",
  	"streetNumber" : "11",
  	"postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14",
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
  	"firstName" : "Mark",
  	"lastName" : "Smith",
  	"email" : "senderEmail@fenige.pl"
  },
  "paymentData" : {
    "onlinePaymentCryptogram" : "/0OL1zEABL+gk70RYJ8lMAABAAA=",
    "eciIndicator" : "02"
  }
}
Table 90. Recurring Initial request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in transaction currency

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19"

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

cvc2

String

@Length must be 3 characters, @Must not be blank, @Must not be null

Cardholder’s card cvc2

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

terminal.networkAssignedId

String

@Can be null @Length for Visa 6, @Length for Mastercard 10.

When mastercard transaction is with network program field must be present, for visa transaction with network program fields is optional

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

paymentData

Object

Payment tokenization data object

paymentData.onlinePaymentCryptogram

String

@Must not be empty, @Size must be between 0 and 28 inclusive

Payment secure cryptogram obtained during merchant card tokenization in mobile app. Base64 encoded payment crypto value.

paymentData.eciIndicator

String

@Length must be between 1 and 2 inclusive, @Must match 01 or 02 or 05 or 06 or 07, @Must not be null

Eci value returned only for tokens on the Visa card network. The value should be passed by merchant if present with payment cryptogram. Optional value.

Response status
Status Description

200 OK

Returned when transaction was successfully authorized.

400 BAD REQUEST

STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid.

401 UNAUTHORIZED

STATUS: E80002 - Returned when you are the problem with authorized to your PSP.

409 CONFLICT

STATUS: E001598 - Returned when transactionUUID already exists. STATUS: E001602 - Transaction rejected, initial uuid already exists.

422 UNPROCESSABLE ENTITY

STATUS: E00156 - Transaction rejected, initial recurring transaction not approved/exist

STATUS: E00158 - Returned when Cardholder Currency Indicator is invalid for DCC transaction.

STATUS: E001599 - Returned when card expiration date is invalid.

STATUS: E001601 - Returned when transaction is with network program, but network assignedId is invalid.

500 INTERNAL SERVER ERROR

STATUS: E00153 - Returned when transaction is declined, by problem with MIP connection.

STATUS: E001597 - Returned when transaction declined, processing timeout.

STATUS: E90000 - Returned when reason is unknown.

503 SERVICE UNAVAILABLE

STATUS: E90001 - Returned when is error acquirer connection.

STATUS: E90002 - Returned when is error mpi connection.

200 OK Mastercard
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "transactionUuid" : "03df773b-b9cf-44e6-bb02-392874ec12d0",
  "requestUuid" : "b8d59b30-a8a4-4524-9089-4844ed383605",
  "recurringInitialUuid" : "9ec99f88-800b-4107-94d8-44ea9560ac58",
  "transactionStatus" : "APPROVED",
  "responseCode" : "CODE_00",
  "rrn" : "007007614137",
  "stan" : "614137",
  "provider" : "MASTERCARD",
  "banknetReferenceNumber":"66KXFF"
  "cardType" : "DMC",
  "defaultCurrency" : "PLN",
  "bankName": "BANK MILLENNIUM S.A.",
  "countryCardIssuing": "POL",
  "countryCodeNumeric": "616",
  "region": "EUROPE",
  "gcmsProductId": "MCG",
  "eeaDomesticRateQualificationIndicator": "Y",
  "status" : "S00002",
  "message" : "Success transaction",
  "httpStatus" : "OK"
}
Table 91. Recurring Initial response fields
Path Type Description

transactionUuid

String

Transaction’s unique uuid in system

requestUuid

String

Request’s unique uuid in system

recurringInitialUuid

String

Recurring Initial unique uuid in system

transactionStatus

String

Transaction status

responseCode

String

Response code

rrn

String

Retrieval Reference Number

stan

String

System Trace Audit Number (STAN)

provider

String

Card’s provider

banknetReferenceNumber

String

Unique data element, assigned by Mastercard, which identifies an authorization transaction. Available only for Mastercard transactions.

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard
DMC - Debit Mastercard
MSI - Maestro
CIR - Cirrus
PVL - Private Label

Card type for Visa:

C - Credit
D - Debit
P - Prepaid
H - Charge
R – Deferred Debit
Space – Not applicable

defaultCurrency

String

Default card currency

bankName

String

Bank name only for Mastercard

countryCardIssuing

String

Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3

Country card Issuing for Visa: - ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Mastercard:
- ISO 3166-1 Numeric

Country code numeric for Visa:
- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES
- CANADA
- LATINA_AMERICA_AND_THE_CARIBBEAN
- ASIA_PACIFIC
- EUROPE
- SOUTH_ASIA_MIDDLE_EAST_AFRICA
- ANY

Region for Visa:

1 = US
2 = Canada
3 = Visa Europe
4 = Asia-Pacific
5 = Latin America and Carribean
6 = CEMEA

gcmsProductId

String

Gcms product id only for Mastercard

This is the Product ID recognized by GCMS for the issuer account range and card program identifier combination. It may be different from the Licensed Product ID associated with the issuer account range and card program identifier combination.

eeaDomesticRateQualificationIndicator

String

EEA Domestic Rate Qualification Indicator only for Mastercard: Valid values:
Y = EEA Domestic Rate qualified
N = Not EEA Domestic Rate qualified

binType

String

Bin type only for VISA

F = Full Service
I = Issuer Only
M = Merchant Only
N = Nonfinancial
O = On Behalf Of (OBO)
P = Processor
S = SMS Financial entity
V = Visa Internal entity

domain

String

Domain only for VISA:

W = (Worldwide)
R = (Regional)
N = (National)
D = (Domestic)

productId

String

Product ID only for VISA.

This field contains the Product ID values:
A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C - Visa Signature, D - Visa Signature Preferred, DI - Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 - Visa Business Enhanced, G4 - Visa Infinite Business, G5 - Visa Business Rewards, I - Visa Infinite, I1 - Visa Infinite Privilege, I2 - Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T&E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 - Private Label Standard, Q4 - Private Label Enhanced, Q5 - Private Label Specialized, Q6 - Private Label Premium, R - Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 - Visa Government Purchasing with Fleet, S4 - Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

settlementMatch

String

Settlement match only for VISA:

B = (B2B)
E = B2E
Space = (Not applicable)

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

200 OK Visa
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "transactionUuid" : "03df773b-b9cf-44e6-bb02-392874ec12d0",
  "requestUuid" : "b8d59b30-a8a4-4524-9089-4844ed383605",
  "recurringInitialUuid" : "9ec99f88-800b-4107-94d8-44ea9560ac58",
  "transactionStatus" : "APPROVED",
  "responseCode" : "CODE_00",
  "rrn" : "007007614137",
  "stan" : "614137",
  "provider" : "VISA",
  "cardType" : "C",
  "defaultCurrency" : "USD",
  "countryCardIssuing": "US",
  "countryCodeNumeric": "840",
  "region": "1",
  "binType": "I",
  "domain": "W",
  "productId": "F",
  "settlementMatch": " ",
  "status" : "S00002",
  "message" : "Success transaction",
  "httpStatus" : "OK"
}
Table 92. Authorize response fields
Path Type Description

transactionUuid

String

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

Request’s unique uuid in system

recurringInitialUuid

String

Recurring Initial unique uuid in system

transactionStatus

String

Transaction status

responseCode

String

Response code

rrn

String

Retrieval Reference Number

stan

String

System Trace Audit Number (STAN)

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard
DMC - Debit Mastercard
MSI - Maestro
CIR - Cirrus
PVL - Private Label

Card type for Visa:

C - Credit
D - Debit
P - Prepaid
H - Charge
R – Deferred Debit
Space – Not applicable

defaultCurrency

String

Default card currency

countryCardIssuing

String

Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3

Country card Issuing for Visa: - ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Mastercard:
- ISO 3166-1 Numeric

Country code numeric for Visa:
- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES
- CANADA
- LATINA_AMERICA_AND_THE_CARIBBEAN
- ASIA_PACIFIC
- EUROPE
- SOUTH_ASIA_MIDDLE_EAST_AFRICA
- ANY

Region for Visa:

1 = US
2 = Canada
3 = Visa Europe
4 = Asia-Pacific
5 = Latin America and Carribean
6 = CEMEA

binType

String

Bin type only for VISA

F = Full Service
I = Issuer Only
M = Merchant Only
N = Nonfinancial
O = On Behalf Of (OBO)
P = Processor
S = SMS Financial entity
V = Visa Internal entity

domain

String

Domain only for VISA:

W = (Worldwide)
R = (Regional)
N = (National)
D = (Domestic)

productId

String

Product ID only for VISA.

This field contains the Product ID values:
A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C - Visa Signature, D - Visa Signature Preferred, DI - Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 - Visa Business Enhanced, G4 - Visa Infinite Business, G5 - Visa Business Rewards, I - Visa Infinite, I1 - Visa Infinite Privilege, I2 - Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T&E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 - Private Label Standard, Q4 - Private Label Enhanced, Q5 - Private Label Specialized, Q6 - Private Label Premium, R - Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 - Visa Government Purchasing with Fleet, S4 - Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

settlementMatch

String

Settlement match only for VISA:

B = (B2B)
E = B2E
Space = (Not applicable)

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

400 BAD REQUEST
HTTP Response - STATUS: E80000
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:44 GMT
Connection: close
Content-Length: 265

{
    "errors": {
        "expiryDate": [
            "must not be null",
            "must not be blank",
            "invalid card expiration date"
        ],
        "transactionUuid": [
            "must not be null"
        ],
        "amount": [
            "must not be null"
        ],
        "outside3dsRequest": [
            "must not be null"
        ],
        "sender": [
            "must not be null"
        ],
        "requestUuid": [
            "must not be null"
        ],
        "merchant": [
            "must not be null"
        ],
        "currency": [
            "must not be null"
        ],
        "cvc2": [
            "must not be blank",
            "must not be null"
        ],
        "cardNumber": [
            "must not be null",
            "must not be blank"
        ]
    },
    "status": "E80000",
    "httpStatus": "BAD_REQUEST",
    "traceId": "50bf37c3-3562-4364-8b30-f51c31bdec6b"
}
Table 93. Response fields Path
Path Type Description

status

String

Response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

401 UNAUTHORIZED
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "timestamp": "2020-06-01T07:17:31.968+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/processor/payments/recurring/initial"
}
Table 94. Response fields
Path Type Description

timestamp

String

Time stamp

status

Number

Response code from Fenige system

error

String

Response http status

message

String

Message for response code from Fenige system

path

String

Path

409 Conflict
HTTP/1.1 409 Conflict
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "06396fa7-4281-40e2-970d-9894f91b5de6",
    "transactionUuid": "c3413be2-a66f-4437-945c-1b3a5258c857",
    "status": "E001598",
    "message": "Transaction rejected, transactionUUID already exists",
    "httpStatus": "CONFLICT",
    "traceId": "66cd08e1-9153-45be-9428-208f2e73ae99"
}
Table 95. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

422 UNPROCESSABLE ENTITY
HTTP Response - STATUS: E00158
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "aa23f94e-1dc4-468c-876d-dee3588daba9",
    "transactionUuid": "3a4b276a-84e9-4f5d-82e9-e20d8936c2c8",
    "status": "E00158",
    "message": "Returned when Cardholder Currency Indicator is invalid for DCC transaction.",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "7fd9be06-e12c-4abd-943b-52fb1d3735cf"
}
Table 96. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

500 INTERNAL SERVER ERROR
HTTP Response - STATUS: E90000
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "status": "E90000",
    "message": "Domain error",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "8907eafd-92fb-4c8a-abb3-e4420aed8c98"
}
HTTP Response - STATUS: E00153
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "b8d59b30-a8a4-4524-9089-4844ed383605",
    "transactionUuid": "03df773b-b9cf-44e6-bb02-392874ec12d0",
    "transactionStatus": "DECLINED",
    "status": "E00153",
    "message": "Transaction declined, problem with MIP connection",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001597
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001597",
    "message": "Transaction declined, processing timeout",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
Table 97. Response fields
Path Type Description

requestUuid

String

Request unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

503 SERVICE UNAVAILABLE
HTTP Response - STATUS: E90001
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 267

{
    "requestUuid": "b8d59b30-a8a4-4524-9089-4844ed383605",
    "transactionUuid": "03df773b-b9cf-44e6-bb02-392874ec12d0",
    "transactionStatus": "ERROR",
    "status": "E90001",
    "message": "Error acquirer connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "078fb9bc-e6c9-4f69-a48f-3ac7ed3153f0"
}
HTTP Response - STATUS: E90002
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 267

{
    "requestUuid": "b8d59b30-a8a4-4524-9089-4844ed383605",
    "transactionUuid": "03df773b-b9cf-44e6-bb02-392874ec12d0",
    "transactionStatus": "ERROR",
    "status": "E90002",
    "message": "Error mpi connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "6675fab9-05a9-4158-b852-e5b15fe577ca"
}
Table 98. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

6.8.2. Recurring Subsequent

Request
Recurring Subsequent
POST /processor/payments/recurring/subsequent HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 373
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "416888ac-56ba-4fcd-8029-d0317dad53cb",
  "requestUuid" : "32eebb90-8955-49c6-b667-f58488533b13",
  "recurringInitialUuid" : "9ec99f88-800b-4107-94d8-44ea9560ac58",
  "transactionInitiator" : "RECURRING_PAYMENT",
  "amount" : 1000,
  "currency" : "USD",
  "cardNumber" : "545313******4417",
  "expiryDate" : "11/22",
  "autoClear" : true,
  "networkProgram" : true,
  "networkProgram" : true,
  "merchant" : {
  	"merchantId" : "b0e8304d-e58e-4f18-8876-9e6b5ad848f7",
  	"companyName" : "Company Name",
  	"city" : "Lublin",
  	"country" : "PL",
  	"homeNumber" : "10",
  	"street" : "Merchant street",
  	"streetNumber" : "11",
  	"postalCode" : "24-110",
  	"subdivision": "06",
  	"taxId": "PL9111158900",
  	"partnershipAgreement": "MC0001",
  	"contactPhoneNumber": "48587604859",
  	"supportPhoneNumber": "48587604844",
  	"serviceCity": "Warszawa",
  	"serviceCountry": "PL",
  	"servicePostalCode": "01-262",
  	"serviceSubdivision": "14"
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
  	"firstName" : "Mark",
  	"lastName" : "Smith",
  	"email" : "senderEmail@fenige.pl"
  },
  "outside3dsRequest" : {
  	"authenticationStatus" : "Y",
  	"cavv" : "jEu04WZns7pbARAApU4qgNdJTag=",
  	"eci" : "02",
  	"authenticationTime" : "20180703 16:55:28",
  	"cavvAlgorithm" : "3",
  	"transactionxId" : "124"
  }
}
Table 99. Recurring Subsequent request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

recurringInitialUuid

String

Recurring Initial unique uuid in system

transactionInitiator

String

@Must not be null

Depends on recurring processing source selection may be MIT - merchant initiated or RECURRING_PAYMENT - recurring payment.

For RECURRING_PAYMENT - request can be processed using optional 3ds authentication, using authentication data provided in outside3dsRequest

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies)

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19"

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

Must be the same as used in recurring initial

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

outside3dsRequest

Object

There are outside 3ds data authorization that have been send to our API. This is optional parameter for CIT subsequent transactions. only in case if 3DS authenticationStatus is Y or A, then transaction will be realized.

outside3dsRequest.authenticationStatus

String

@Must match Y or A, @Must not be null

Authentication status:

Y - (Full Authentication) - The customer was successfully authenticated.

A - (Successful Attempted Authentication) - Authentication was not available, but functionality was available to generate a proof of authentication attempt.

outside3dsRequest.cavv

String

@Must match the regular expression ^[j,h]{1}[\w,=]+$, @Size must be between 0 and 28 inclusive

Cardholder Authentication Verification Value

outside3dsRequest.eci

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Electronic Commerce Indicator: 5 (Visa) or 2 (SecureCode) - The cardholder was successfully authenticated. 6 (Visa) or 1 (SecureCode) - Authentication was attempted, but the cardholder was not enrolled. Chargeback protection applies.

outside3dsRequest.authenticationTime

String

@Must be not null

Authentication date

outside3dsRequest.cavvAlgorithm

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Indicates the algorithm used to generate the AuthenticationCAVV value

0 - HMAC

1 - CVV

2 - CVV with ATN

3 - MasterCard SPA algorithm

outside3dsRequest.transactionxId

String

This field is required for 3DS 2.X, optional for 3DS 1.0

Recurring DCC Subsequent
POST /processor/payments/recurring/subsequent HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 373
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "416888ac-56ba-4fcd-8029-d0317dad53cb",
  "requestUuid" : "32eebb90-8955-49c6-b667-f58488533b13",
  "recurringInitialUuid" : "9ec99f88-800b-4107-94d8-44ea9560ac58",
  "transactionInitiator" : "RECURRING_PAYMENT",
  "amount" : 1000,
  "currency" : "PLN",
  "cardNumber" : "545313******4417",
  "expiryDate" : "11/22",
  "autoClear" : true,
  "networkProgram" : true,
  "dcc":{
	"cardholderAmount" : 224,
	"cardholderCurrency" : "EUR",
	"conversionRateCardholder" : 0.2247541
  },
  "merchant" : {
  	"merchantId" : "b0e8304d-e58e-4f18-8876-9e6b5ad848f7",
  	"companyName" : "Company Name",
  	"city" : "Lublin",
  	"country" : "PL",
  	"homeNumber" : "10",
  	"street" : "Merchant street",
  	"streetNumber" : "11",
  	"postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14",
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "networkAssignedId" : "NPID01"
  },
  "sender" : {
  	"firstName" : "Mark",
  	"lastName" : "Smith",
  	"email" : "senderEmail@fenige.pl"
  },
  "outside3dsRequest" : {
  	"authenticationStatus" : "Y",
  	"cavv" : "jEu04WZns7pbARAApU4qgNdJTag=",
  	"eci" : "02",
  	"authenticationTime" : "20180703 16:55:28",
  	"cavvAlgorithm" : "3",
  	"transactionxId" : "124"
  }
}
Table 100. Recurring Subsequent request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

recurringInitialUuid

String

Recurring Initial unique uuid in system

transactionInitiator

String

@Must not be null

Depends on recurring processing source selection may be MIT - merchant initiated or RECURRING_PAYMENT - recurring payment.

For RECURRING_PAYMENT - request can be processed using optional 3ds authentication, using authentication data provided in outside3dsRequest

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in transaction currency

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19"

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

dcc

Object

@Must not be null

There are dcc data that have been send to our API

dcc.cardholderAmount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in cardholder dcc currency

dcc.cardholderCurrency

String

@Must not be null

Currency of cardholder card (in accordance with ISO-4217), example: USD

dcc.conversionRateCardholder

BigDecimal

@Must not be null

The rate used to convert the transaction amount to the cardholder billing amount

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

Must be the same as used in recurring initial

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

outside3dsRequest

Object

There are outside 3ds data authorization that have been send to our API. This is optional parameter for CIT subsequent transactions. only in case if 3DS authenticationStatus is Y or A, then transaction will be realized.

outside3dsRequest.authenticationStatus

String

@Must match Y or A, @Must not be null

Authentication status:

Y - (Full Authentication) - The customer was successfully authenticated.

A - (Successful Attempted Authentication) - Authentication was not available, but functionality was available to generate a proof of authentication attempt.

outside3dsRequest.cavv

String

@Must match the regular expression ^[j,h]{1}[\w,=]+$, @Size must be between 0 and 28 inclusive

Cardholder Authentication Verification Value

outside3dsRequest.eci

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Electronic Commerce Indicator: 5 (Visa) or 2 (SecureCode) - The cardholder was successfully authenticated. 6 (Visa) or 1 (SecureCode) - Authentication was attempted, but the cardholder was not enrolled. Chargeback protection applies.

outside3dsRequest.authenticationTime

String

@Must be not null

Authentication date

outside3dsRequest.cavvAlgorithm

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Indicates the algorithm used to generate the AuthenticationCAVV value

0 - HMAC

1 - CVV

2 - CVV with ATN

3 - MasterCard SPA algorithm

outside3dsRequest.transactionxId

String

This field is required for 3DS 2.X, optional for 3DS 1.0

Recurring Token Subsequent
POST /processor/payments/recurring/subsequent HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 373
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "416888ac-56ba-4fcd-8029-d0317dad53cb",
  "requestUuid" : "32eebb90-8955-49c6-b667-f58488533b13",
  "recurringInitialUuid" : "9ec99f88-800b-4107-94d8-44ea9560ac58",
  "transactionInitiator" : "RECURRING_PAYMENT",
  "amount" : 1000,
  "currency" : "PLN",
  "cardNumber" : "554422******4138",
  "expiryDate" : "11/22",
  "autoClear" : true,
  "networkProgram" : true,
  "networkProgram": true,
  "merchant" : {
  	"merchantId" : "b0e8304d-e58e-4f18-8876-9e6b5ad848f7",
  	"companyName" : "Company Name",
  	"city" : "Lublin",
  	"country" : "PL",
  	"homeNumber" : "10",
  	"street" : "Merchant street",
  	"streetNumber" : "11",
  	"postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14",
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111",
    "networkAssignId": "NPID01"
  },
  "sender" : {
  	"firstName" : "Mark",
  	"lastName" : "Smith",
  	"email" : "senderEmail@fenige.pl"
  },
  "paymentData" : {
    "onlinePaymentCryptogram" : "/0OL1zEABL+gk70RYJ8lMAABAAA=",
    "eciIndicator" : "02"
  }
}
Table 101. Recurring Subsequent request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

recurringInitialUuid

String

Recurring Initial unique uuid in system

transactionInitiator

String

@Must not be null

Depends on recurring processing source selection may be MIT - merchant initiated or RECURRING_PAYMENT - recurring payment.

For RECURRING_PAYMENT - request can be processed using optional 3ds authentication, using authentication data provided in outside3dsRequest

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in transaction currency

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19"

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

networkProgram

Boolean

@Optional true or false

Field indicates that transaction is with specific interchange fee

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

Must be the same as used in recurring initial

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

terminal.networkAssignedId

String

@Can be null @Length for Visa 6, @Length for Mastercard 10.

When mastercard transaction is with network program field must be present, for visa transaction with network program fields is optional

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

paymentData

Object

Payment tokenization data object

paymentData.onlinePaymentCryptogram

String

@Must not be empty, @Size must be between 0 and 28 inclusive

Payment secure cryptogram obtained during merchant card tokenization in mobile app. Base64 encoded payment crypto value.

paymentData.eciIndicator

String

@Length must be between 1 and 2 inclusive, @Must match 01 or 02 or 05 or 06 or 07, @Must not be null

Eci value returned only for tokens on the Visa card network. The value should be passed by merchant if present with payment cryptogram. Optional value

Recurring Subsequent with external trace id
POST /processor/payments/recurring/subsequent HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 373
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "416888ac-56ba-4fcd-8029-d0317dad53cb",
  "requestUuid" : "32eebb90-8955-49c6-b667-f58488533b13",
  "traceId" : "0015566554456",
  "transactionInitiator" : "RECURRING_PAYMENT",
  "amount" : 1000,
  "currency" : "USD",
  "cardNumber" : "545313******4417",
  "expiryDate" : "11/22",
  "autoClear" : true,
  "merchant" : {
  	"merchantId" : "b0e8304d-e58e-4f18-8876-9e6b5ad848f7",
  	"companyName" : "Company Name",
  	"city" : "Lublin",
  	"country" : "PL",
  	"homeNumber" : "10",
  	"street" : "Merchant street",
  	"streetNumber" : "11",
  	"postalCode" : "24-110",
  	"subdivision": "06",
  	"taxId": "PL9111158900",
  	"partnershipAgreement": "MC0001",
  	"contactPhoneNumber": "48587604859",
  	"supportPhoneNumber": "48587604844",
  	"serviceCity": "Warszawa",
  	"serviceCountry": "PL",
  	"servicePostalCode": "01-262",
  	"serviceSubdivision": "14"
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111"
  },
  "sender" : {
  	"firstName" : "Mark",
  	"lastName" : "Smith",
  	"email" : "senderEmail@fenige.pl"
  },
  "outside3dsRequest" : {
  	"authenticationStatus" : "Y",
  	"cavv" : "jEu04WZns7pbARAApU4qgNdJTag=",
  	"eci" : "02",
  	"authenticationTime" : "20180703 16:55:28",
  	"cavvAlgorithm" : "3",
  	"transactionxId" : "124"
  }
}
Table 102. Recurring Subsequent request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

tarceId

String

@Must not be null, @Must not be blank, @Length must be between 1 and 15

External trace id

transactionInitiator

String

@Must not be null

Depends on recurring processing source selection may be MIT - merchant initiated or RECURRING_PAYMENT - recurring payment.

For RECURRING_PAYMENT - request can be processed using optional 3ds authentication, using authentication data provided in outside3dsRequest

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies)

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19"

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

autoClear

Boolean

@Must not be null, true or false

Is auto clear enabled. Enabled if true, is not enabled if false

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

Must be the same as used in recurring initial

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

outside3dsRequest

Object

There are outside 3ds data authorization that have been send to our API. This is optional parameter for CIT subsequent transactions. only in case if 3DS authenticationStatus is Y or A, then transaction will be realized.

outside3dsRequest.authenticationStatus

String

@Must match Y or A, @Must not be null

Authentication status:

Y - (Full Authentication) - The customer was successfully authenticated.

A - (Successful Attempted Authentication) - Authentication was not available, but functionality was available to generate a proof of authentication attempt.

outside3dsRequest.cavv

String

@Must match the regular expression ^[j,h]{1}[\w,=]+$, @Size must be between 0 and 28 inclusive

Cardholder Authentication Verification Value

outside3dsRequest.eci

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Electronic Commerce Indicator: 5 (Visa) or 2 (SecureCode) - The cardholder was successfully authenticated. 6 (Visa) or 1 (SecureCode) - Authentication was attempted, but the cardholder was not enrolled. Chargeback protection applies.

outside3dsRequest.authenticationTime

String

@Must be not null

Authentication date

outside3dsRequest.cavvAlgorithm

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Indicates the algorithm used to generate the AuthenticationCAVV value

0 - HMAC

1 - CVV

2 - CVV with ATN

3 - MasterCard SPA algorithm

outside3dsRequest.transactionxId

String

This field is required for 3DS 2.X, optional for 3DS 1.0

Response status
Status Description

200 OK

Returned when transaction was successfully authorized.

400 BAD REQUEST

STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid.

401 UNAUTHORIZED

STATUS: E80002 - Returned when you are the problem with authorized to your PSP.

409 CONFLICT

STATUS: E001598 - Returned when transactionUUID already exists.

422 UNPROCESSABLE ENTITY

STATUS: E00156 - Transaction rejected, initial recurring transaction not approved/exist

STATUS: E001561 - Returned when merchantId from recurring initial is not the same as in subsequent.

STATUS: E00158 - Returned when Cardholder Currency Indicator is invalid for DCC transaction.

STATUS: E001599 - Returned when card expiration date is invalid.

STATUS: E001601 - Returned when transaction is with network program, but network assignedId is invalid.

500 INTERNAL SERVER ERROR

STATUS: E00153 - Returned when transaction is declined, by problem with MIP connection.

STATUS: E001597 - Returned when transaction declined, processing timeout.

STATUS: E90000 - Returned when reason is unknown.

503 SERVICE UNAVAILABLE

STATUS: E90001 - Returned when is error acquirer connection.

STATUS: E90002 - Returned when is error mpi connection.

200 OK Mastercard
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "transactionUuid" : "416888ac-56ba-4fcd-8029-d0317dad53cb",
  "requestUuid" : "32eebb90-8955-49c6-b667-f58488533b13",
  "recurringInitialUuid" : "9ec99f88-800b-4107-94d8-44ea9560ac58",
  "transactionStatus" : "APPROVED",
  "responseCode" : "CODE_00",
  "rrn" : "007007614139",
  "stan" : "614139",
  "provider" : "MASTERCARD",
  "banknetReferenceNumber":"66KXFF"
  "cardType" : "DMC",
  "defaultCurrency" : "PLN",
  "bankName": "BANK MILLENNIUM S.A.",
  "countryCardIssuing": "POL",
  "countryCodeNumeric": "616",
  "region": "EUROPE",
  "gcmsProductId": "MCG",
  "eeaDomesticRateQualificationIndicator": "Y",
  "status" : "S00002",
  "message" : "Success transaction",
  "httpStatus" : "OK"
}
Table 103. Recurring Subsequent response fields
Path Type Description

transactionUuid

String

Transaction’s unique uuid in system

requestUuid

String

Request’s unique uuid in system

recurringInitialUuid

String

Recurring Initial unique uuid in system

transactionStatus

String

Transaction status

responseCode

String

Response code

rrn

String

Retrieval Reference Number

stan

String

System Trace Audit Number (STAN)

provider

String

Card’s provider

banknetReferenceNumber

String

Unique data element, assigned by Mastercard, which identifies an authorization transaction. Available only for Mastercard transactions.

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard
DMC - Debit Mastercard
MSI - Maestro
CIR - Cirrus
PVL - Private Label

Card type for Visa:

C - Credit
D - Debit
P - Prepaid
H - Charge
R – Deferred Debit
Space – Not applicable

defaultCurrency

String

Default card currency

bankName

String

Bank name only for Mastercard

countryCardIssuing

String

Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3

Country card Issuing for Visa: - ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Mastercard:
- ISO 3166-1 Numeric

Country code numeric for Visa:
- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES
- CANADA
- LATINA_AMERICA_AND_THE_CARIBBEAN
- ASIA_PACIFIC
- EUROPE
- SOUTH_ASIA_MIDDLE_EAST_AFRICA
- ANY

Region for Visa:

1 = US
2 = Canada
3 = Visa Europe
4 = Asia-Pacific
5 = Latin America and Carribean
6 = CEMEA

gcmsProductId

String

Gcms product id only for Mastercard

This is the Product ID recognized by GCMS for the issuer account range and card program identifier combination. It may be different from the Licensed Product ID associated with the issuer account range and card program identifier combination.

eeaDomesticRateQualificationIndicator

String

EEA Domestic Rate Qualification Indicator only for Mastercard: Valid values:
Y = EEA Domestic Rate qualified
N = Not EEA Domestic Rate qualified

binType

String

Bin type only for VISA

F = Full Service
I = Issuer Only
M = Merchant Only
N = Nonfinancial
O = On Behalf Of (OBO)
P = Processor
S = SMS Financial entity
V = Visa Internal entity

domain

String

Domain only for VISA:

W = (Worldwide)
R = (Regional)
N = (National)
D = (Domestic)

productId

String

Product ID only for VISA.

This field contains the Product ID values:
A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C - Visa Signature, D - Visa Signature Preferred, DI - Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 - Visa Business Enhanced, G4 - Visa Infinite Business, G5 - Visa Business Rewards, I - Visa Infinite, I1 - Visa Infinite Privilege, I2 - Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T&E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 - Private Label Standard, Q4 - Private Label Enhanced, Q5 - Private Label Specialized, Q6 - Private Label Premium, R - Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 - Visa Government Purchasing with Fleet, S4 - Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

settlementMatch

String

Settlement match only for VISA:

B = (B2B)
E = B2E
Space = (Not applicable)

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

200 OK Visa
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "transactionUuid" : "416888ac-56ba-4fcd-8029-d0317dad53cb",
  "requestUuid" : "32eebb90-8955-49c6-b667-f58488533b13",
  "recurringInitialUuid" : "9ec99f88-800b-4107-94d8-44ea9560ac58",
  "transactionStatus" : "APPROVED",
  "responseCode" : "CODE_00",
  "rrn" : "007007614139",
  "stan" : "614139",
  "provider" : "VISA",
  "cardType" : "C",
  "defaultCurrency" : "USD",
  "countryCardIssuing": "US",
  "countryCodeNumeric": "840",
  "region": "1",
  "binType": "I",
  "domain": "W",
  "productId": "F",
  "settlementMatch": " ",
  "status" : "S00002",
  "message" : "Success transaction",
  "httpStatus" : "OK"
}
Table 104. Authorize response fields
Path Type Description

transactionUuid

String

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

Request’s unique uuid in system

recurringInitialUuid

String

Recurring Initial unique uuid in system

transactionStatus

String

Transaction status

responseCode

String

Response code

rrn

String

Retrieval Reference Number

stan

String

System Trace Audit Number (STAN)

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard
DMC - Debit Mastercard
MSI - Maestro
CIR - Cirrus
PVL - Private Label

Card type for Visa:

C - Credit
D - Debit
P - Prepaid
H - Charge
R – Deferred Debit
Space – Not applicable

defaultCurrency

String

Default card currency

countryCardIssuing

String

Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3

Country card Issuing for Visa: - ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Mastercard:
- ISO 3166-1 Numeric

Country code numeric for Visa:
- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES
- CANADA
- LATINA_AMERICA_AND_THE_CARIBBEAN
- ASIA_PACIFIC
- EUROPE
- SOUTH_ASIA_MIDDLE_EAST_AFRICA
- ANY

Region for Visa:

1 = US
2 = Canada
3 = Visa Europe
4 = Asia-Pacific
5 = Latin America and Carribean
6 = CEMEA

binType

String

Bin type only for VISA

F = Full Service
I = Issuer Only
M = Merchant Only
N = Nonfinancial
O = On Behalf Of (OBO)
P = Processor
S = SMS Financial entity
V = Visa Internal entity

domain

String

Domain only for VISA:

W = (Worldwide)
R = (Regional)
N = (National)
D = (Domestic)

productId

String

Product ID only for VISA.

This field contains the Product ID values:
A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C - Visa Signature, D - Visa Signature Preferred, DI - Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 - Visa Business Enhanced, G4 - Visa Infinite Business, G5 - Visa Business Rewards, I - Visa Infinite, I1 - Visa Infinite Privilege, I2 - Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T&E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 - Private Label Standard, Q4 - Private Label Enhanced, Q5 - Private Label Specialized, Q6 - Private Label Premium, R - Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 - Visa Government Purchasing with Fleet, S4 - Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

settlementMatch

String

Settlement match only for VISA:

B = (B2B)
E = B2E
Space = (Not applicable)

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

400 BAD REQUEST
HTTP Response - STATUS: E80000
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:44 GMT
Connection: close
Content-Length: 265

{
    "errors": {
        "expiryDate": [
            "must not be blank",
            "must not be null",
            "invalid card expiration date"
        ],
        "transactionUuid": [
            "must not be null"
        ],
        "amount": [
            "must not be null"
        ],
        "sender": [
            "must not be null"
        ],
        "requestUuid": [
            "must not be null"
        ],
        "merchant": [
            "must not be null"
        ],
        "currency": [
            "must not be null"
        ],
        "cardNumber": [
            "must not be null",
            "must not be blank"
        ],
        "recurringInitialUuid": [
            "must not be null"
        ]
    },
    "status": "E80000",
    "httpStatus": "BAD_REQUEST",
    "traceId": "90dcc48d-427a-4f34-a94a-9d18e3feed2e"
}
Table 105. Response fields Path
Path Type Description

status

String

Response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

401 UNAUTHORIZED
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "timestamp": "2020-06-01T07:17:31.968+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/processor/payments/recurring/subsequent"
}
Table 106. Response fields
Path Type Description

timestamp

String

Time stamp

status

Number

Response code from Fenige system

error

String

Response http status

message

String

Message for response code from Fenige system

path

String

Path

409 Conflict
HTTP/1.1 409 Conflict
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "06396fa7-4281-40e2-970d-9894f91b5de6",
    "transactionUuid": "c3413be2-a66f-4437-945c-1b3a5258c857",
    "status": "E001598",
    "message": "Transaction rejected, transactionUUID already exists",
    "httpStatus": "CONFLICT",
    "traceId": "66cd08e1-9153-45be-9428-208f2e73ae99"
}
Table 107. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

422 UNPROCESSABLE ENTITY
HTTP Response - STATUS: E00156
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "aa23f94e-1dc4-468c-876d-dee3588daba9",
    "transactionUuid": "3a4b276a-84e9-4f5d-82e9-e20d8936c2c8",
    "status": "E00156",
    "message": "Transaction rejected, initial recurring transaction not approved/exist",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "7fd9be06-e12c-4abd-943b-52fb1d3735cf"
}
HTTP Response - STATUS: E00157
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 6 Dec 2021 11:43:57 GMT

{
    "requestUuid": "aa23f94e-1dc4-468c-876d-dee3588daba9",
    "transactionUuid": "3a4b276a-84e9-4f5d-82e9-e20d8936c2c8",
    "status": "E00157",
    "message": "Transaction rejected, transactionInitiator type not allowed for transaction",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "7fd9be06-e12c-4abd-943b-52fb1d3735cf"
}
HTTP Response - STATUS: E00158
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "aa23f94e-1dc4-468c-876d-dee3588daba9",
    "transactionUuid": "3a4b276a-84e9-4f5d-82e9-e20d8936c2c8",
    "status": "E00158",
    "message": "Returned when Cardholder Currency Indicator is invalid for DCC transaction.",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "7fd9be06-e12c-4abd-943b-52fb1d3735cf"
}
Table 108. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

500 INTERNAL SERVER ERROR
HTTP Response - STATUS: E90000
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "32eebb90-8955-49c6-b667-f58488533b13",
    "transactionUuid": "416888ac-56ba-4fcd-8029-d0317dad53cb",
    "transactionStatus": "DECLINED",
    "status": "E90000",
    "message": "Domain error",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "f331e864-4988-4830-8ef7-3c5046c6214e"
}
HTTP Response - STATUS: E001561
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
"requestUuid": "32eebb90-8955-49c6-b667-f58488533b13",
"transactionUuid": "416888ac-56ba-4fcd-8029-d0317dad53cb",
"transactionStatus": "REJECTED",
"status": "E001561",
"message": "Transaction rejected, invalid initial recurring merchantId",
"httpStatus": "UNPROCESSABLE_ENTITY",
"traceId": "f331e864-4988-4830-8ef7-3c5046c6214e"
}
Table 109. Response fields
Path Type Description

requestUuid

String

Request unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

6.9. Installment payment

Installment Payment is an API method that allows users to make payments for online purchases in the form of monthly installments. Installlment plan is an offer of the bank to spread the payment in installments and may vary depending on the bank of the card issuer.
API methods offers decision whether user wants to make payment in installments, pay in full or cancel.
In case of payment in installments, the customer is presented with a plan of possible payment options. Depending on the configuration
the customer decides how many installments he wants to make the payment in. The user's goal is to choose the right plan that best suits his requirements.
In case of payment in full at the moment of authorization the transaction is treated as an ordinary e-commerce payment.
In case of cancel, the whole payment is immediately rejected.
After completing the initialization method and receiving possible installment plans for the transaction, the user has a limited time to decide on the choice of installments.
The decision and sending of the confirmation method must be executed within 15 minutes, otherwise the transaction is immediately accepted and cleared in full.
Payment with DCC (Dynamic Currency Conversion) transaction is a dynamic transaction amount conversion service available at payment terminals, enabling payment in the
currency of the country where the credit card was issued.
The difference between DCC payment and standard payment is on the side of the Acquirer, who must check the card's currencies and present them on request. The client chooses
from the available currencies (or the default currency is automatically selected). Then Acquirer performs a currency conversion on its side to the chosen currency and sends to FENIGE a request with a dcc object in which it places the converted amount in the currency chosen by the Client.
The Installment Payment functionality is only possible for users of cards issued by Mastercard.
Installment payment
installment payment request
Installment DCC payment
installment dcc payment request

6.9.1. Installment Initial

POST /processor/payments/installment/initial Content Type: application/json, Authorization: Basic Auth
The method is used as a request to spread payments into installments and is a request to present a list of installment possibilities depending on whether a given bank offers
 such functionality. The transaction may be a transaction with outside 3ds.
Request
Installment Initial
POST /processor/payments/installment/initial HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 528
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "d4e61d3d-0d6a-4b43-897a-199e2f1983f0",
  "requestUuid" : "d3cdf4a8-123d-4464-9861-6ac580da3c10",
  "amount" : 1000,
  "currency" : "USD",
  "cardNumber" : "545721******0019",
  "expiryDate" : "11/22",
  "cvc2" : "123",
  "merchant" : {
    "merchantId" : "ac107c31-6fa9-45ab-acff-f6df8fa48cd9",
    "companyName" : "Company Name",
    "city" : "Lublin",
    "country" : "PL",
    "homeNumber" : "10",
    "street" : "Merchant street",
    "streetNumber" : "11",
    "postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14"
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111"
  },
  "sender" : {
    "firstName" : "Mark",
    "lastName" : "Smith",
    "email" : "senderEmail@fenige.pl"
  },
  "outside3dsRequest" : {
    "authenticationStatus" : "Y",
    "cavv" : "jEu04WZns7pbARAApU4qgNdJTag=",
    "eci" : "02",
    "authenticationTime" : "20180703 16:55:28",
    "cavvAlgorithm" : "3",
    "transactionxId" : "124"
  }
}
Table 110. Authorize request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies)

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

cvc2

String

@Length must be 3 characters, @Must not be blank, @Must not be null

Cardholder’s card cvc2

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

outside3dsRequest

Object

There are outside 3ds data authorization that have been send to our API. This is optional parameter. Without this parameter, transaction will be processed as a regular transaction without 3DS authorization.

outside3dsRequest.authenticationStatus

String

@must match Y or A or U, @Must not be null

Authentication status:

Y - (Full Authentication) - The customer was successfully authenticated.

A - (Successful Attempted Authentication) - Authentication was not available, but functionality was available to generate a proof of authentication attempt.

outside3dsRequest.cavv

String

@Must match the regular expression ^[j,h]{1}[\w,=]+$, @Size must be between 0 and 28 inclusive

Cardholder Authentication Verification Value

outside3dsRequest.eci

String

@Length must be between 1 and 2 inclusive, @Must match 00 or 01 or 02 or 05 or 06 or 07

Electronic Commerce Indicator: 5 (Visa) or 2 (SecureCode) - The cardholder was successfully authenticated. 6 (Visa) or 1 (SecureCode) - Authentication was attempted, but the cardholder was not enrolled. More info.

outside3dsRequest.authenticationTime

String

@Must be not null

Authentication date

outside3dsRequest.cavvAlgorithm

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Indicates the algorithm used to generate the AuthenticationCAVV value

0 - HMAC

1 - CVV

2 - CVV with ATN

3 - MasterCard SPA algorithm

outside3dsRequest.transactionxId

String

This field is required for 3DS 2.X, optional for 3DS 1.0

Installment DCC Initial
POST /processor/payments/installment/initial HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 528
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "d4e61d3d-0d6a-4b43-897a-199e2f1983f0",
  "requestUuid" : "d3cdf4a8-123d-4464-9861-6ac580da3c10",
  "amount" : 1000,
  "currency" : "PLN",
  "cardNumber" : "545721******0019",
  "expiryDate" : "11/22",
  "cvc2" : "123",
  "dcc":{
	"cardholderAmount" : 224,
	"cardholderCurrency" : "EUR",
	"conversionRateCardholder" : 0.2247541
  },
  "merchant" : {
    "merchantId" : "ac107c31-6fa9-45ab-acff-f6df8fa48cd9",
    "companyName" : "Company Name",
    "city" : "Lublin",
    "country" : "PL",
    "homeNumber" : "10",
    "street" : "Merchant street",
    "streetNumber" : "11",
    "postalCode" : "24-110",
    "subdivision": "06",
    "taxId": "PL9111158900",
    "partnershipAgreement": "MC0001",
    "contactPhoneNumber": "48587604859",
    "supportPhoneNumber": "48587604844",
    "serviceCity": "Warszawa",
    "serviceCountry": "PL",
    "servicePostalCode": "01-262",
    "serviceSubdivision": "14",
  },
  "terminal" : {
    "terminalId" : "ABC12345",
    "terminalUrl" : "www.fenige.com",
    "mcc" : "4111"
  },
  "sender" : {
    "firstName" : "Mark",
    "lastName" : "Smith",
    "email" : "senderEmail@fenige.pl"
  },
  "outside3dsRequest" : {
    "authenticationStatus" : "Y",
    "cavv" : "jEu04WZns7pbARAApU4qgNdJTag=",
    "eci" : "02",
    "authenticationTime" : "20180703 16:55:28",
    "cavvAlgorithm" : "3",
    "transactionxId" : "124"
  }
}
Table 111. Authorize request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in transaction currency

currency

String

@Must not be null

Currency for transaction (in accordance with ISO-4217), example: USD

cardNumber

String

@Card number length must be between 12 and 19, @Must not be blank, @Must not be null

Must be a number and length must be between 12 and 19

expiryDate

String

@Must not be blank, @Must not be null

Expiration date of card mm/yy

cvc2

String

@Length must be 3 characters, @Must not be blank, @Must not be null

Cardholder’s card cvc2

dcc

Object

@Must not be null

There are dcc data that have been send to our API

dcc.cardholderAmount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies) in cardholder dcc currency

dcc.cardholderCurrency

String

@Must not be null

Currency of cardholder card (in accordance with ISO-4217), example: USD

dcc.conversionRateCardholder

BigDecimal

@Must not be null

The rate used to convert the transaction amount to the cardholder billing amount

merchant

Object

@Must not be null

There are merchant data that have been send to our API

merchant.merchantId

String

@Must not be null

Merchant’s unique uuid in system

merchant.companyName

String

@Length must be between 3 and 22 inclusive, @Must not be blank, @Must not be null

The merchant’s name sent in the messages to MC and Visa

merchant.city

String

@Length must be between 1 and 13 inclusive, @Must not be blank, @Must not be null

The merchant’s city

merchant.country

String

@Must match the regular expression ^[A-Z]{2}$, @Must not be null

The merchant’s country in accordance with ISO 3166-1 Alpha-2

merchant.homeNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9 ]*$, @Nullable

The merchant’s home number

merchant.street

String

@Length must be between 1 and 48 inclusive, @Must match the regular expression (s[s]+)*$, @Must not be blank, @Must notbe null

The merchant’s street

merchant.streetNumber

String

@Length must be between 1 and 5 inclusive, @Must match the regular expression ^[a-zA-Z0-9]+$, @Must not be blank, @Must not be null

The merchant’s street number

merchant.postalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, @Must not be null

The merchant’s postal code

merchant.subdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s subdivision code

merchant.taxId

String

@Length must be between 1 and 20 inclusive, @Must not be blank, Optional @Can be null

The merchant’s tax identification number

merchant.partnershipAgreement

String

@Length must be between 1 and 6 inclusive, @Must not be blank, @Can be null

The partnership agreement between the merchant and Mastercard

merchant.contactPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s contact phone number

merchant.supportPhoneNumber

String

@Length must be between 1 and 16 inclusive, @Full phone format only numbers, @Must not be blank, Optional @Can be null

The merchant’s support phone number

merchant.serviceCity

String

@Length must be between 1 and 13 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service city

merchant.serviceCountry

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service country

merchant.servicePostalCode

String

@Length must be between 1 and 10 inclusive, @Must not be blank, Optional @Must not be null

The merchant’s postal code

merchant.serviceSubdivision

String

@Length must be between 1 and 3 inclusive, @Must not be blank, Optional @Can be null

The merchant’s service subdivision

terminal

Object

@Must not be null

There are terminal data that have been send to our API

terminal.terminalId

String

@Must match alphanumeric format ^[a-zA-Z0-9]+, @Length must be min 4 max 8 inclusive

Card Acceptor Terminal ID uniquely identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems

terminal.terminalUrl

String

@Length must be max 150

Terminal website URL

terminal.mcc

String

@Must match number format ^\\d+$, @Length must be 4 inclusive

MCC according to current ISO 18245 that have been send to our API

sender

Object

@Optional

There are sender data that have been send to our API

sender.firstName

String

@Optional field, @Length must be between 1 and 12, @Must match the regular expression [0-9]+$

First name of card holder

sender.lastName

String

@Optional field, @Length must be between 1 and 20, @Must match the regular expression [0-9]+$

Last name of card holder

sender.email

String

Optional field, @Length(min = 1, max = 128), @Must match the regular expression ^\s*?(.)@(.?)\.(.+?)\s*$

Cardholder’s email

outside3dsRequest

Object

There are outside 3ds data authorization that have been send to our API. This is optional parameter. Without this parameter, transaction will be processed as a regular transaction without 3DS authorization.

outside3dsRequest.authenticationStatus

String

@must match Y or A or U, @Must not be null

Authentication status:

Y - (Full Authentication) - The customer was successfully authenticated.

A - (Successful Attempted Authentication) - Authentication was not available, but functionality was available to generate a proof of authentication attempt.

outside3dsRequest.cavv

String

@Must match the regular expression ^[j,h]{1}[\w,=]+$, @Size must be between 0 and 28 inclusive

Cardholder Authentication Verification Value

outside3dsRequest.eci

String

@Length must be between 1 and 2 inclusive, @Must match 00 or 01 or 02 or 05 or 06 or 07

Electronic Commerce Indicator: 5 (Visa) or 2 (SecureCode) - The cardholder was successfully authenticated. 6 (Visa) or 1 (SecureCode) - Authentication was attempted, but the cardholder was not enrolled. More info.

outside3dsRequest.authenticationTime

String

@Must be not null

Authentication date

outside3dsRequest.cavvAlgorithm

String

@Length must be between 1 and 2 inclusive, @Must match the regular expression ^\d+$

Indicates the algorithm used to generate the AuthenticationCAVV value

0 - HMAC

1 - CVV

2 - CVV with ATN

3 - MasterCard SPA algorithm

outside3dsRequest.transactionxId

String

This field is required for 3DS 2.X, optional for 3DS 1.0

Response
Response status
Status Description

200 OK

Returned when transaction was successfully authorized.

400 BAD REQUEST

STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid.

401 UNAUTHORIZED

STATUS: E80002 - Returned when you are the problem with authorized to your PSP.

409 CONFLICT

STATUS: E001598 - Returned when transactionUUID already exists.

422 UNPROCESSABLE ENTITY

STATUS: E00158 - Returned when Cardholder Currency Indicator is invalid for DCC transaction.

STATUS: E001599 - Returned when card expiration date is invalid.

500 INTERNAL SERVER ERROR

STATUS: E00153 - Returned when transaction is declined, by problem with MIP connection.

STATUS: E001597 - Returned when transaction declined, processing timeout.

STATUS: E001913 - Returned when transaction was originated from unsupported VISA card.

STATUS: E90000 - Returned when reason is unknown.

503 SERVICE UNAVAILABLE

STATUS: E90001 - Returned when is error acquirer connection.

STATUS: E90002 - Returned when is error mpi connection.

200 OK WAITING_FOR_CONFIRMATION
HTTP/1.1 200 OK WAITING_FOR_CONFIRMATION
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
    "requestUuid": "082445ad-4d27-47e7-b5ea-33e15ef265a7",
    "installmentPaymentInitialUuid": "082445ad-4d27-47e7-b5ea-33e15ef265a7",
    "transactionStatus": "APPROVED",
    "responseCode": "CODE_00",
    "rrn": "025212119866",
    "stan": "119866",
    "provider" : "MASTERCARD",
    "cardType" : "DMC",
    "defaultCurrency" : "PLN",
    "bankName": "BANK MILLENNIUM S.A.",
    "countryCardIssuing": "POL",
    "countryCodeNumeric": "616",
    "region": "EUROPE",
    "gcmsProductId": "MCG",
    "eeaDomesticRateQualificationIndicator": "Y",
    "installmentStatus": "WAITING_FOR_CONFIRMATION",
    "installmentPaymentType": "ISSUER_FINANCED",
    "installmentPaymentOptions": [
        "PAY_IN_INSTALLMENTS",
        "PAY_IN_FULL",
        "CANCEL"
    ],
    "installmentPaymentFormat1": [
        {
            "uuid": "1233e715-a1af-4ae2-b084-735d00a9d8fd",
            "installmentPaymentFormat": "FORMAT_1",
            "numberOfInstallments": "03",
            "interestRate": "00000",
            "installmentFee": "000000001215",
            "annualPercentageRate": "     ",
            "firstInstallmentAmount": "000000013905",
            "subsequentInstallmentAmount": "000000013905",
            "totalAmountDue": "000000041715"
        },
        {
            "uuid": "ceb05fa0-0ebd-4d07-98ee-c68e8fb83bdd",
            "installmentPaymentFormat": "FORMAT_1",
            "numberOfInstallments": "06",
            "interestRate": "00000",
            "installmentFee": "000000002430",
            "annualPercentageRate": "     ",
            "firstInstallmentAmount": "000000007155",
            "subsequentInstallmentAmount": "000000007155",
            "totalAmountDue": "000000042930"
        },
        {
            "uuid": "edbdf93b-9ccc-43ff-9a92-325fab964e1c",
            "installmentPaymentFormat": "FORMAT_1",
            "numberOfInstallments": "12",
            "interestRate": "00000",
            "installmentFee": "000000004860",
            "annualPercentageRate": "     ",
            "firstInstallmentAmount": "000000003780",
            "subsequentInstallmentAmount": "000000003780",
            "totalAmountDue": "000000045360"
        }
    ],
    "status": "S00002",
    "message": "Success transaction",
    "httpStatus": "OK"
}
Table 112. Installment Payment initial response fields

Path

Type

Description

requestUuid

String

Request’s unique uuid in system

installmentPaymentInitialUuid

String

Unique transaction uuid which, together with the merchantId, identifies transactions, is used in installment step 2 to identify initial transaction

transactionStatus

String

Transaction status

installmentStatus

String

Transaction Installment Payment processing status

installmentPaymentType

String

Transaction Installment Payment type information, may be: ISSUER_FINANCED, MERCHANT_FINANCED, ACQUIRER_FINANCED, CO_BRANDED_MERCHANT_FINANCED, ISSUER_MERCHANT_CO_FINANCED

installmentPaymentOptions

List

Transaction Installment Payment user possible options may be: PAY_IN_INSTALLMENTS, PAY_IN_FULL or CANCEL

installmentPaymentFormat1

List

Installment Payment plan configuration List for Mastercard Format 1

installmentPaymentFormat2

List

Installment Payment plan configuration List for Mastercard Format 2

responseCode

String

Response code

rrn

String

Retrieval Reference Number

stan

String

System Trace Audit Number (STAN)

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard
DMC - Debit Mastercard
MSI - Maestro
CIR - Cirrus
PVL - Private Label

defaultCurrency

String

Default card currency

bankName

String

Bank name only for Mastercard

countryCardIssuing

String

Country card Issuing for Mastercard:
- ISO 3166-1 Alpha-3

countryCodeNumeric

String

Country code numeric for Mastercard:
- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES
- CANADA
- LATINA_AMERICA_AND_THE_CARIBBEAN
- ASIA_PACIFIC
- EUROPE
- SOUTH_ASIA_MIDDLE_EAST_AFRICA
- ANY

gcmsProductId

String

Gcms product id only for Mastercard

This is the Product ID recognized by GCMS for the issuer account range and card program identifier combination. It may be different from the Licensed Product ID associated with the issuer account range and card program identifier combination.

eeaDomesticRateQualificationIndicator

String

EEA Domestic Rate Qualification Indicator only for Mastercard: Valid values:
Y = EEA Domestic Rate qualified
N = Not EEA Domestic Rate qualified

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

Table 113. Installment Payment Format 1 plan configuration

Path

Type

Description

uuid

String

Unique plan uuid in system. Required to select in step 2 installment decision

installmentPaymentFormat

String

Plan format label, may be FORMAT_1 for this configuration

numberOfInstallments

String

Number of installments contains the number of installment payments provided by the issuer

interestRate

String

Interest rate contains the rate (two decimal places) that the issuer assesses the cardholder for the installment payment

installmentFee

String

Installment Fee contains the fee amount in cardholder billing currency that the issuer assesses the cardholder for the installment payments

annualPercentageRate

String

Annual Percentage Rate contains the rate (two decimal places) that the issuer charges the cardholder for the installment payment

firstInstallmentAmount

String

First Installment Amount contains the amount of the first installment in cardholder billing currency that the issuer will charge the cardholder for the installment payments

subsequentInstallmentAmount

String

Subsequent Installment Amount contains the amount of the subsequent installments in cardholder billing currency that the issuer will charge the cardholder for the installment payments

totalAmountDue

String

Total Amount Due contains the total amount due in cardholder billing currency that the issuer charges the cardholder for the installment payments

Table 114. Installment Payment Format 2 plan configuration

Path

Type

Description

uuid

String

Unique plan uuid in system. Required to select in step 2 installment decision

installmentPaymentFormat

String

Plan format label, may be FORMAT_2 for this configuration

minimumNumberOfInstallments

String

Minimum number of installments contains the minimum number of installments payments provided by the issuer

maximumNumberOfInstallments

String

Maximum number of installments contains the maximum number of installments payments provided by the issuer

interestRate

String

Interest rate contains the rate (two decimal places) that the issuer assesses the cardholder for the installment payment

installmentFee

String

Installment Fee contains the fee amount in cardholder billing currency that the issuer assesses the cardholder for the installment payments

annualPercentageRate

String

Annual Percentage Rate contains the rate (two decimal places) that the issuer charges the cardholder for the installment payment

totalAmountDue

String

Total Amount Due contains the total amount due in cardholder billing currency that the issuer charges the cardholder for the installment payments

200 OK INSTALLMENT_PAYMENT_NOT_SUPPORTED_WAITING_FOR_CONFIRMATION
HTTP/1.1 200 OK INSTALLMENT_PAYMENT_NOT_SUPPORTED_WAITING_FOR_CONFIRMATION
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
    "requestUuid": "b900b998-c8d8-4c49-93b0-f1354be7a08a",
    "transactionUuid": "b900b998-c8d8-4c49-93b0-f1354be7a08a",
    "transactionStatus": "APPROVED",
    "responseCode": "CODE_00",
    "rrn": "025212119865",
    "stan": "119865",
    "installmentStatus": "INSTALLMENT_PAYMENT_NOT_SUPPORTED_WAITING_FOR_CONFIRMATION",
    "installmentPaymentOptions": [
        "PAY_IN_FULL",
        "CANCEL"
    ],
    "status": "S00002",
    "message": "Success transaction",
    "httpStatus": "OK"
}
400 BAD REQUEST
HTTP Response - STATUS: E80000
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:26 GMT
Connection: close
Content-Length: 640

{
  "errors" : {
    "expiryDate" : [ "must not be null", "invalid card expiration date", "must not be blank" ],
    "lastName" : [ "must not be blank", "must not be null" ],
    "firstName" : [ "must not be null", "may not be empty" ],
    "amount" : [ "must not be null" ],
    "merchantUuid" : [ "must not be null" ],
    "requestUuid" : [ "must not be null" ],
    "currency" : [ "must not be null" ],
    "cvc2" : [ "must not be null", "must not be blank" ],
    "cardNumber" : [ "must not be null", "must not be blank" ]
  },
  "status" : "E80000",
  "httpStatus" : "BAD_REQUEST",
  "traceId" : "77caa2c3-df04-4e07-bf56-b4b1d92b53f0"
}
Table 115. Response fields
Path Type Description

status

String

Response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

401 UNAUTHORIZED
HTTP Response - STATUS: E80002
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "timestamp": "2020-06-01T07:17:31.968+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/processor/payments/auth"
}
Table 116. Response fields
Path Type Description

timestamp

String

Time stamp

status

Number

Response code from Fenige system

error

String

Response http status

message

String

Message for response code from Fenige system

path

String

Path

409 Conflict
HTTP/1.1 409 Conflict
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "06396fa7-4281-40e2-970d-9894f91b5de6",
    "transactionUuid": "c3413be2-a66f-4437-945c-1b3a5258c857",
    "status": "E001598",
    "message": "Transaction rejected, transactionUUID already exists",
    "httpStatus": "CONFLICT",
    "traceId": "66cd08e1-9153-45be-9428-208f2e73ae99"
}
Table 117. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

422 UNPROCESSABLE ENTITY
HTTP Response - STATUS: E00158
HTTP/1.1 422 Unprocessable entity
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "aa23f94e-1dc4-468c-876d-dee3588daba9",
    "transactionUuid": "3a4b276a-84e9-4f5d-82e9-e20d8936c2c8",
    "status": "E00158",
    "message": "Returned when Cardholder Currency Indicator is invalid for DCC transaction.",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "7fd9be06-e12c-4abd-943b-52fb1d3735cf"
}
Table 118. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

500 INTERNAL SERVER ERROR
HTTP Response - STATUS: E90000
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
     "status": "E90000",
     "message": "Domain error",
     "httpStatus": "INTERNAL_SERVER_ERROR",
     "traceId": "8c1d724c-f5ca-4543-aa8f-1db865bdf059"
}
HTTP Response - STATUS: E00153
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
     "requestUuid": "1f1c4006-6d18-4810-8c26-5c1583ae1e92",
     "transactionUuid": "9c6d8759-6e51-4b3d-a739-6d684d8cb6e4",
     "transactionStatus": "DECLINED",
     "status": "E00153",
     "message": "Transaction declined, problem with MIP connection",
     "httpStatus": "INTERNAL_SERVER_ERROR",
     "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001913
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
     "requestUuid": "cfa69727-8b7b-4b00-9c50-714f222878ef",
     "transactionUuid": "594da64c-8773-49fa-8322-39b3cb9cbeb1",
     "transactionStatus": "DECLINED",
     "status": "E001913",
     "message": "Installment Payment unsupported card provider VISA",
     "httpStatus": "INTERNAL_SERVER_ERROR",
     "traceId": "af4e1ec6-005c-42a5-819c-d91c5b86ba65"
}
Table 119. Response fields
Path Type Description

requestUuid

String

Request unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

503 SERVICE UNAVAILABLE
HTTP Response - STATUS: E90001
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 267

{
    "requestUuid": "849343cf-a0c0-439b-a64d-476a7e5afbc6",
    "transactionUuid": "6d6463cf-d644-47b0-b285-d505784a9757",
    "transactionStatus": "ERROR",
    "status": "E90001",
    "message": "Error acquirer connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "eb3eb56f-2e01-4211-ba34-654b5a5f2c31"
}
HTTP Response - STATUS: E90002
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 267

{
    "requestUuid": "849343cf-a0c0-439b-a64d-476a7e5afbc6",
    "transactionUuid": "6d6463cf-d644-47b0-b285-d505784a9757",
    "transactionStatus": "ERROR",
    "status": "E90002",
    "message": "Error mpi connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "6675fab9-05a9-4158-b852-e5b15fe577ca"
}
Table 120. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

6.9.2. Installment Confirm

POST /processor/payments/installment/confirm Content Type: application/json, Authorization: Basic Auth
The method is used to communicate the user's decision to start or reject installments the bank's proposal. If accept the installments, the user sends a specific uuid of the
plan to which he agrees and optional number of installments (depending on installment Format 1 or Format 2 bank returns). Format 2 of Mastercard installment plan requires
providing speciffic number of installments value which is in allowed range.
In case of full payment user selects PAY_IN_FULL option.
In case of cancellation it sends CANCEL.
Request
POST /processor/payments/installment/confirm HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 528
Host: processor-staging.fenige.pl

{
  "requestUuid": "9a31e902-99f4-4c15-bace-21636ddfb332",
  "merchantId": "730bd9a1-eed6-4b34-91d4-d0a7e4e57371",
  "installmentPaymentInitialUuid": "c8206dc2-e4d6-49f2-85d2-62580f8da383",
  "installmentPaymentOption": "PAY_IN_INSTALLMENTS",
  "installmentPaymentPlanUuid": "a512bcd5-3395-4e00-a119-b6725c6afda6"
}
Table 121. Confirm request fields
Path Type Constraints Description

requestUuid

String

@Must not be null

Request’s unique uuid in system

merchantId

String

@Must not be null

Merchant’s unique uuid in system

installmentPaymentInitialUuid

String

@Must not be null

Transaction uuid of initial Installment Payment transaction

installmentPaymentOption

String

@Must not be null

Transaction Installment Payment user possible options may be: PAY_IN_INSTALLMENTS, PAY_IN_FULL or CANCEL

installmentPaymentPlanUuid

String

@Optional

Installment Payment plan uuid from previously returned plans. Required for PAY_IN_INSTALLMENTS. Required for FORMAT 1 and FORMAT 2 plans

installmentPaymentNumberOfInstallments

String

@Optional

Number of installments from allowed range (minimumNumberOfInstallments and maximumNumberOfInstallments). Required for PAY_IN_INSTALLMENTS. Required for FORMAT 2 plan.

Response
Response status
Status Description

200 OK

Returned when transaction was successfully authorized.

400 BAD REQUEST

STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid.

401 UNAUTHORIZED

STATUS: E80002 - Returned when you are the problem with authorized to your PSP.

500 INTERNAL SERVER ERROR

STATUS: E001900 - Installment Payment initial not found.

STATUS: E001901 - Installment Payment already confirmed.

STATUS: E001902 - Installment Payment already cancelled.

STATUS: E001903 - Installment Payment already pay in full.

STATUS: E001904 - Installment Payment not confirmed in required time.

STATUS: E001905 - Installment Payment Initial was failed.

STATUS: E001906 - Installment Payment could not find valid installment plan for requested uuid.

STATUS: E001907 - Installment Payment Option not allowed for transaction.

STATUS: E001908 - Installment Payment missing plan uuid.

STATUS: E001909 - Installment Payment missing request number of installments.

STATUS: E001910 - Installment Payment requested number of installments is outside of allowed range.

STATUS: E90000 - Returned when reason is unknown.

503 SERVICE UNAVAILABLE

STATUS: E90001 - Returned when is error acquirer connection.

STATUS: E90002 - Returned when is error mpi connection.

200 OK
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
    "requestUuid": "9a31e902-99f4-4c15-bace-21636ddfb332",
    "transactionUuid": "c8206dc2-e4d6-49f2-85d2-62580f8da383",
    "responseCode": "CODE_00",
    "rrn": "025213119867",
    "stan": "119867",
    "provider" : "MASTERCARD",
    "cardType" : "DMC",
    "defaultCurrency" : "PLN",
    "bankName": "BANK MILLENNIUM S.A.",
    "countryCardIssuing": "POL",
    "countryCodeNumeric": "616",
    "region": "EUROPE",
    "gcmsProductId": "MCG",
    "eeaDomesticRateQualificationIndicator": "Y",
    "installmentStatus": "CONFIRMED",
    "status": "S00002",
    "message": "Success transaction",
    "httpStatus": "OK"
}
Table 122. Authorize response fields
Path Type Description

transactionUuid

String

Unique transaction uuid which, together with the merchantId, identifies transactions

responseCode

String

Response code

rrn

String

Retrieval Reference Number

stan

String

System Trace Audit Number (STAN)

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard
DMC - Debit Mastercard
MSI - Maestro
CIR - Cirrus
PVL - Private Label

defaultCurrency

String

Default card currency

bankName

String

Bank name only for Mastercard

countryCardIssuing

String

Country card Issuing for Mastercard:
- ISO 3166-1 Alpha-3

countryCodeNumeric

String

Country code numeric for Mastercard:
- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES
- CANADA
- LATINA_AMERICA_AND_THE_CARIBBEAN
- ASIA_PACIFIC
- EUROPE
- SOUTH_ASIA_MIDDLE_EAST_AFRICA
- ANY

gcmsProductId

String

Gcms product id only for Mastercard

This is the Product ID recognized by GCMS for the issuer account range and card program identifier combination. It may be different from the Licensed Product ID associated with the issuer account range and card program identifier combination.

eeaDomesticRateQualificationIndicator

String

EEA Domestic Rate Qualification Indicator only for Mastercard: Valid values:
Y = EEA Domestic Rate qualified
N = Not EEA Domestic Rate qualified

installmentStatus

String

Transaction Installment Payment processing status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

400 BAD REQUEST
HTTP Response - STATUS: E80000
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:26 GMT
Connection: close
Content-Length: 640

{
  "errors" : {
    "installmentPaymentOption" : [ "must not be null" ],
    "installmentPaymentInitialUuid" : [ "must not be null" ]
  },
  "status" : "E80000",
  "httpStatus" : "BAD_REQUEST",
  "traceId" : "77caa2c3-df04-4e07-bf56-b4b1d92b53f0"
}
Table 123. Response fields
Path Type Description

status

String

Response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

401 UNAUTHORIZED
HTTP Response - STATUS: E80002
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "timestamp": "2020-06-01T07:17:31.968+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/processor/payments/auth"
}
Table 124. Response fields
Path Type Description

timestamp

String

Time stamp

status

Number

Response code from Fenige system

error

String

Response http status

message

String

Message for response code from Fenige system

path

String

Path

500 INTERNAL SERVER ERROR
HTTP Response - STATUS: E90000
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "status": "E90000",
    "message": "Domain error",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "8c1d724c-f5ca-4543-aa8f-1db865bdf059"
}
HTTP Response - STATUS: E00153
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "1f1c4006-6d18-4810-8c26-5c1583ae1e92",
    "transactionUuid": "9c6d8759-6e51-4b3d-a739-6d684d8cb6e4",
    "transactionStatus": "DECLINED",
    "status": "E00153",
    "message": "Transaction declined, problem with MIP connection",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001597
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001597",
    "message": "Transaction declined, processing timeout",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001900
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001900",
    "message": "Installment Payment initial not found",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001901
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001901",
    "message": "Installment Payment already confirmed",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001902
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001902",
    "message": "Installment Payment already cancelled",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001903
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001903",
    "message": "Installment Payment already pay in full",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001904
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001904",
    "message": "Installment Payment not confirmed in required time",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001905
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001905",
    "message": "Installment Payment Initial was failed",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001906
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001906",
    "message": "Installment Payment could not find valid installment plan for requested uuid",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001907
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001907",
    "message": "Installment Payment Option not allowed for transaction",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001908
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001908",
    "message": "Installment Payment missing plan uuid",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001909
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001909",
    "message": "Installment Payment missing request number of installments",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
HTTP Response - STATUS: E001910
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "requestUuid": "722f93a7-51d1-4082-b5b0-ef23dcd18484",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "transactionStatus": "DECLINED",
    "status": "E001910",
    "message": "Installment Payment requested number of installments is outside of allowed range",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "eb0c1c67-f692-4d43-aa1e-013ad0490f6a"
}
Table 125. Response fields
Path Type Description

requestUuid

String

Request unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

503 SERVICE UNAVAILABLE
HTTP Response - STATUS: E90001
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 267

{
    "requestUuid": "849343cf-a0c0-439b-a64d-476a7e5afbc6",
    "transactionUuid": "6d6463cf-d644-47b0-b285-d505784a9757",
    "transactionStatus": "ERROR",
    "status": "E90001",
    "message": "Error acquirer connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "eb3eb56f-2e01-4211-ba34-654b5a5f2c31"
}
Table 126. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

transactionStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

6.9.3. Installment Payment Processing Test Cases

    There are some rules imposed by the Mastercard which are required to be able to properly test the Installment Payment flow on the test environment.
    Test card. Based on the special Mastercard test documentation we know that to be able to test the IP flow correctly you have to use specially defined card numbers otherwise the
test environment of the Mastercard will not return proposals for monthly installments for approval. Allowed test card numbers are shown below.
Transaction amount should be one of the values described in below table.
Test Cases

Case ID

Transaction details

Response

1

"amount" : 95000,

Issuer does not offer installment payment plan

"installmentStatus": "INSTALLMENT_PAYMENT_NOT_SUPPORTED_WAITING_FOR_CONFIRMATION",

"installmentPaymentOptions": [ "PAY_IN_FULL", "CANCEL" ],

2

"amount" : 95100,

Issuer offers "Pay in Full Only", no installments.

"installmentStatus": "INSTALLMENT_PAYMENT_NOT_SUPPORTED_WAITING_FOR_CONFIRMATION",

"installmentPaymentOptions": [ "PAY_IN_FULL", "CANCEL" ],

3

"amount" : 95200,

Issuer offers "Pay in Installments Only"

"installmentStatus": "WAITING_FOR_CONFIRMATION",

"installmentPaymentType": "ISSUER_FINANCED",

"installmentPaymentOptions": [ "PAY_IN_INSTALLMENTS", "CANCEL" ],

"installmentPaymentFormat1": [ { "uuid": "42b37dc0-0bdb-42fe-b4a7-d02225ef32ea", "installmentPaymentFormat": "FORMAT_1", "numberOfInstallments": "05", "interestRate": "00100", "installmentFee": "000000000010", "annualPercentageRate": "00050", "firstInstallmentAmount": "000000001000", "subsequentInstallmentAmount": "000000001000", "totalAmountDue": "000000001000" } ],

4

"amount" : 95300,

Issuer offers "Pay in Full or Pay in Installments"

"installmentStatus": "WAITING_FOR_CONFIRMATION",

"installmentPaymentType": "ISSUER_FINANCED",

"installmentPaymentOptions": [ "PAY_IN_INSTALLMENTS", "PAY_IN_FULL", "CANCEL" ],

"installmentPaymentFormat1": [

{ "uuid": "4ee7c0b8-93c7-4a7b-8d81-3623c5907986", "installmentPaymentFormat": "FORMAT_1", "numberOfInstallments": "10", "interestRate": "00100", "installmentFee": "000000000010", "annualPercentageRate": "00050", "firstInstallmentAmount": "000000001000", "subsequentInstallmentAmount": "000000001000", "totalAmountDue": "000000100000" },

{ "uuid": "0ef86c37-7c2a-41fd-b2bf-71ec04e622e9", "installmentPaymentFormat": "FORMAT_1", "numberOfInstallments": "10", "interestRate": "00100", "installmentFee": "000000000010", "annualPercentageRate": "00050", "firstInstallmentAmount": "000000001000", "subsequentInstallmentAmount": "000000001000", "totalAmountDue": "000000090000" },

…​..

…​..

5

"amount" : 95400,

Issuer offers "Pay in Installments Only" - Format 2

"installmentStatus": "WAITING_FOR_CONFIRMATION",

"installmentPaymentType": "ISSUER_FINANCED",

"installmentPaymentOptions": [ "PAY_IN_INSTALLMENTS", "CANCEL" ],

"installmentPaymentFormat2": {

"uuid": "bfd6d122-0903-446d-9b26-c40973f82aea", "installmentPaymentFormat": "FORMAT_2", "minimumNumberOfInstallments": "10", "maximumNumberOfInstallments": "10", "interestRate": "00010", "installmentFee": "000000000010", "annualPercentageRate": "00010", "totalAmountDue": "000000001000" },

6

"amount" : 95500,

Issuer offers "Pay in Full or Pay in Installments" - Format 2

"installmentStatus": "WAITING_FOR_CONFIRMATION",

"installmentPaymentType": "ISSUER_FINANCED",

"installmentPaymentOptions": [ "PAY_IN_INSTALLMENTS", "PAY_IN_FULL", "CANCEL" ],

"installmentPaymentFormat2": { "uuid": "6479c6f3-2e39-4fb5-bd3b-9ee45437b80b", "installmentPaymentFormat": "FORMAT_2", "minimumNumberOfInstallments": "10", "maximumNumberOfInstallments": "10", "interestRate": "00010", "installmentFee": "000000000010", "annualPercentageRate": "00010", "totalAmountDue": "000000001000" },

7

"amount" : 95600,

Issuer offers "Pay in Full Only"

"installmentStatus": "WAITING_FOR_CONFIRMATION",

"installmentPaymentType": "ISSUER_FINANCED",

"installmentPaymentOptions": [ "PAY_IN_FULL", "CANCEL" ],

"installmentPaymentFormat1": [ { "uuid": "8e9e8afa-3e57-4e40-909e-b53aa475a4d2", "installmentPaymentFormat": "FORMAT_1", "numberOfInstallments": "10", "interestRate": "00100", "installmentFee": "000000000010", "annualPercentageRate": "00050", "firstInstallmentAmount": "000000001000", "subsequentInstallmentAmount": "000000001000", "totalAmountDue": "000000100000" } ],

"installmentPaymentFormat2": { "uuid": "7897ecb7-78b0-4243-99a5-87965ecb537f", "installmentPaymentFormat": "FORMAT_2", "minimumNumberOfInstallments": "10", "maximumNumberOfInstallments": "10", "interestRate": "00010", "installmentFee": "000000000010", "annualPercentageRate": "00010", "totalAmountDue": "000000001000" },

8

"amount" : 95600,

Issuer offers "Pay in Full Only"

"installmentStatus": "WAITING_FOR_CONFIRMATION",

"installmentPaymentType": "ISSUER_FINANCED",

"installmentPaymentOptions": [ "PAY_IN_FULL", "CANCEL" ],

"installmentPaymentFormat1": [ { "uuid": "8e9e8afa-3e57-4e40-909e-b53aa475a4d2", "installmentPaymentFormat": "FORMAT_1", "numberOfInstallments": "10", "interestRate": "00100", "installmentFee": "000000000010", "annualPercentageRate": "00050", "firstInstallmentAmount": "000000001000", "subsequentInstallmentAmount": "000000001000", "totalAmountDue": "000000100000" } ],

"installmentPaymentFormat2": { "uuid": "7897ecb7-78b0-4243-99a5-87965ecb537f", "installmentPaymentFormat": "FORMAT_2", "minimumNumberOfInstallments": "10", "maximumNumberOfInstallments": "10", "interestRate": "00010", "installmentFee": "000000000010", "annualPercentageRate": "00010", "totalAmountDue": "000000001000" },

9

"amount" : 85100,

Issuer offers "Pay in Full Only", no Issuer Merchant Co-Financed installments.

"installmentStatus": "WAITING_FOR_CONFIRMATION",

"installmentPaymentType": "ISSUER_MERCHANT_CO_FINANCED",

"installmentPaymentOptions": [ "PAY_IN_FULL", "CANCEL" ],

10

"amount" : 85200,

Issuer Merchant Co-Financed offers "Pay in Installments Only"

"installmentStatus": "WAITING_FOR_CONFIRMATION",

"installmentPaymentType": "ACQUIRER_FINANCED",

"installmentPaymentOptions": [ "PAY_IN_FULL", "CANCEL" ],

11

"amount" : 85300,

Issuer Merchant Co-Financed offers "Pay in Full or Pay in Installments"

"installmentStatus": "WAITING_FOR_CONFIRMATION",

"installmentPaymentType": "ISSUER_MERCHANT_CO_FINANCED",

"installmentPaymentOptions": [ "PAY_IN_INSTALLMENTS", "PAY_IN_FULL", "CANCEL" ],

"installmentPaymentFormat1": [ { "uuid": "23d34ea7-1c2b-4585-b285-ba897535b9c2", "installmentPaymentFormat": "FORMAT_1", "numberOfInstallments": "12", "interestRate": "00300", "installmentFee": "000000001000", "annualPercentageRate": "00333", "firstInstallmentAmount": "000000009998", "subsequentInstallmentAmount": "000000009999", "totalAmountDue": "000000099999" },

{ "uuid": "93fd6d71-17d1-4772-8790-e534606418e5", "installmentPaymentFormat": "FORMAT_1", "numberOfInstallments": "13", "interestRate": "00300", "installmentFee": "000000001000", "annualPercentageRate": "00333", "firstInstallmentAmount": "000000009998", "subsequentInstallmentAmount": "000000009999", "totalAmountDue": "000000099999" },

{ "uuid": "2448df2e-f581-43f0-a64b-bd7a13b8992a", "installmentPaymentFormat": "FORMAT_1", "numberOfInstallments": "14", "interestRate": "00300", "installmentFee": "000000001000", "annualPercentageRate": "00333", "firstInstallmentAmount": "000000009998", "subsequentInstallmentAmount": "000000009999", "totalAmountDue": "000000099999" },

…​.

…​.

12

"amount" : 85400,

Issuer Merchant Co-Financed offers "Pay in Installments Only"

"installmentStatus": "WAITING_FOR_CONFIRMATION",

"installmentPaymentType": "ISSUER_MERCHANT_CO_FINANCED",

"installmentPaymentOptions": [ "PAY_IN_INSTALLMENTS", "CANCEL" ],

"installmentPaymentFormat2": { "uuid": "5b1160d0-ca09-4766-9482-94a299e3aec7", "installmentPaymentFormat": "FORMAT_2", "minimumNumberOfInstallments": "06", "maximumNumberOfInstallments": "24", "interestRate": "00300", "installmentFee": "000000001000", "annualPercentageRate": "00333", "totalAmountDue": "000000011111" },

13

"amount" : 85500,

Issuer Merchant Co-Finance offers "Pay in Full or Pay in Installments"

"installmentStatus": "WAITING_FOR_CONFIRMATION",

"installmentPaymentType": "ISSUER_MERCHANT_CO_FINANCED",

"installmentPaymentOptions": [ "PAY_IN_INSTALLMENTS", "PAY_IN_FULL", "CANCEL" ],

"installmentPaymentFormat2": { "uuid": "0344583a-5495-4f7a-84b1-bd3d5987a1cb", "installmentPaymentFormat": "FORMAT_2", "minimumNumberOfInstallments": "06", "maximumNumberOfInstallments": "24", "interestRate": "00300", "installmentFee": "000000001000", "annualPercentageRate": "00333", "totalAmountDue": "000000011111" },

Test Card numbers
Test Cards with support Installment Payment

5299050250000019, 5185520050000010, 5457210001000019, 5299050320000015, 5185520270000014, 5457210001000027, 5457210001000035, 5457210001000043, 5457210001000050

6.10. Reversal

POST /processor/payments/reversal Content Type: application/json, Authorization: Basic Auth
This method could be used in order to cancel payment of correctly registered transaction in system before or to
To process reversal method, the transaction must not be cleared. In response, we receive detailed information about the reversal.
    The method can also be used as a partial reversal when you want to immediately correct the amount of the transaction in case of, for example, the absence of all the goods or
the sale of part of the service. In this case, we require an amount that corrects the amount of the original transaction - actualAmount. Correction of the transaction amount can
be performed repeatedly until the final approval of the transaction by clearing. Each subsequent partial reversal attempt replaces the previous transaction value with the actualAmount.
reversal payment request

6.10.1. Request

HTTP Reversal Request
POST /processor/payments/reversal HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 119
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
  "requestUuid" : "2650b78a-c99e-4712-931f-4cbe5808d5d0",
  "merchantId" : "c4965062-1286-4c5a-b0e2-23cab9dc9a98",
  "actualAmount": 5000
}
Table 127. Request headers
Name Description

Authorization

Basic auth credentials for PSP

Table 128. Reversal request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

merchantId

String

@Must not be null

Merchant’s unique uuid in system

requestUuid

String

@Must not be null

Request’s unique uuid in system

actualAmount

Number

@Optional

Corrects transaction amount to given value (amount in pennies)

6.10.2. Response

Response status
Status Description

202 ACCEPTED

Returned when transaction was accepted.

400 BAD REQUEST

STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid.

401 UNAUTHORIZED

STATUS: E80002 - Returned when you are the problem with authorized to your PSP.

403 FORBIDDEN

STATUS: E80001 - Returned when server understood the request but refuses to authorize it.

404 NOT FOUND

STATUS: E00155 - Returned when payment not exist.

409 CONFLICT

STATUS: E001598 - Returned when transactionUUID already exists.

422 UNPROCESSABLE ENTITY

STATUS: E00160 - Returned when reversal of the payment is processing.

STATUS: E00161 - Returned when can’t reversal for payment.

500 INTERNAL SERVER ERROR

STATUS: E001911 - Returned when installment payment reverse is not allowed.

STATUS: E90000 - Returned when reason is unknown.

503 SERVICE UNAVAILABLE

STATUS: E90001 - Returned when is error acquirer connection.

200 OK
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "transactionUuid" : "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
  "requestUuid" : "2650b78a-c99e-4712-931f-4cbe5808d5d0",
  "reversalStatus" : "APPROVED",
  "responseCode" : "CODE_00",
  "rrn": "013607102987",
  "stan" : "614129",
  "status" : "S00005",
  "message" : "Success reverse transaction",
  "httpStatus" : "OK"
}
Table 129. Reversal response fields
Path Type Description

transactionUuid

String

Transaction’s unique uuid in system

requestUuid

String

Request’s unique uuid in system

reversalStatus

String

Transaction status

responseCode

String

Response code

rrn

String

Retrieval Reference Number

stan

String

System Trace Audit Number (STAN)

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

400 BAD REQUEST
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:44 GMT
Connection: close
Content-Length: 218

{
    "errors": {
        "transactionUuid": [
            "must not be null"
        ],
        "merchantId": [
            "must not be null"
        ],
        "requestUuid": [
            "must not be null"
        ]
    },
    "status": "E80000",
    "httpStatus": "BAD_REQUEST",
    "traceId": "89fabb06-90f2-4115-9c65-aea9a41f8f6e"
}
Table 130. Response fields Path
Path Type Description

status

String

Response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

401 UNAUTHORIZED
HTTP Response - STATUS: E80002
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:44 GMT

{
    "timestamp": "2020-06-01T07:17:31.968+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/processor/payments/reversal"
}
Table 131. Response fields Path
Path Type Description

timestamp

String

Timestamp

status

Number

Response code from Fenige system

error

String

Error

message

String

Message for response code from Fenige system

path

String

Path

404 NOT FOUND
HTTP Response - STATUS: E00155
HTTP/1.1 404 Not Found
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:44 GMT
Content-Length: 260

{
    "requestUuid": "2650b78a-c99e-4712-931f-4cbe5808d5d0",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "reversalStatus": "REVERSAL_TRANSACTION_NOT_FOUND",
    "status": "E00155",
    "message": "Transaction not exist",
    "httpStatus": "NOT_FOUND",
    "traceId": "37a007c7-d36a-4a14-8bf5-ae92f02eac31"
}
Table 132. Response fields Path
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

reversalStatus

String

Reversal status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

409 Conflict
HTTP/1.1 409 Conflict
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "requestUuid": "06396fa7-4281-40e2-970d-9894f91b5de6",
    "transactionUuid": "c3413be2-a66f-4437-945c-1b3a5258c857",
    "status": "E001598",
    "message": "Transaction rejected, transactionUUID already exists",
    "httpStatus": "CONFLICT",
    "traceId": "66cd08e1-9153-45be-9428-208f2e73ae99"
}
Table 133. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

422 UNPROCESSABLE ENTITY
HTTP Response - STATUS: E00160
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:44 GMT
Content-Length: 267

{
  "requestUuid" : "2650b78a-c99e-4712-931f-4cbe5808d5d0",
  "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
  "reversalStatus" : "PROCESSING",
  "status" : "E00160",
  "message" : "Reversal of the payment is processing",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "9c08ba62-0c14-4b4e-b71f-2c9bc85b89d1"
}
HTTP Response - STATUS: E00161
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:44 GMT
Content-Length: 257

{
  "requestUuid" : "2650b78a-c99e-4712-931f-4cbe5808d5d0",
  "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
  "reversalStatus" : "CANNOT_REVERSAL",
  "status" : "E00161",
  "message" : "Can't reversal payment",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "e9eca854-196a-47ab-a4c9-ae3b00690457"
}
HTTP Response - STATUS: E00162
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:44 GMT
Content-Length: 255

{
  "requestUuid" : "2650b78a-c99e-4712-931f-4cbe5808d5d0",
  "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
  "reversalStatus" : "APPROVED",
  "status" : "E00162",
  "message" : "Payment is already reversed",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "a42619c0-acab-440f-90f8-d4d79db46786"
}
Table 134. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

reversalStatus

String

Reversal status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

503 SERVICE UNAVAILABLE
HTTP Response - STATUS: E90001
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 266

{
    "requestUuid" : "2650b78a-c99e-4712-931f-4cbe5808d5d0",
    "transactionUuid" : "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "reversalStatus": "ERROR",
    "status": "E90000",
    "message": "Domain error",
    "httpStatus": "INTERNAL_SERVER_ERROR",
    "traceId": "46fb150b-27ad-46a1-85b5-91f6a3612925"
}
Table 135. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

reversalStatus

String

Reversal status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

links

Array

Links to other resources

6.11. Refund

POST /processor/payments/refund Content Type: application/json, Authorization: Basic Auth
    This method can be use for refund amount of a previously performed transaction. Each transaction may be refunded more than once, up to the total amount with which it was
cleared. Total amount of single refund cannot exceed the payment amount.
    It is important to know, that you can make a refund of transaction that is cleared for now.
Refunds can also be optionally processed for DCC (Dynamic Currency Conversion) transactions. In this case, it is possible to provide a dcc object containing refund amounts in
the cardholder's currency, which will result in a refund in the card currency and not the transaction currency in the same way as with the main Payment dcc method.
refund payment request

6.11.1. Request

Refund Request
POST /processor/payments/refund HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 119
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "882de69c-7442-4a47-9788-cb8ab0b4bb08",
  "refundUuid" : "c3968cdd-45e9-4306-ac37-8915e3e6b35e",
  "requestUuid" : "231b0ca1-be0e-40dd-beff-5d4c26bf2618",
  "merchantId" : "8e9f270c-a0d5-4816-b6e9-aae5949adcfa",
  "amount" : 1000
}
Table 136. Request headers
Name Description

Authorization

Basic auth credentials for PSP

Table 137. Refund request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

refundUuid

String

@Optional

Unique refund uuid, refund uuid must not be the same as transaction uuid

requestUuid

String

@Must not be null

Request’s unique uuid in system

merchantId

String

@Must not be null

Merchant’s unique uuid in system

amount

Number

@Must not be null

The total transfer amount (in pennies)

Emergency Refund Request
POST /processor/payments/refund HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 119
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "882de69c-7442-4a47-9788-cb8ab0b4bb08",
  "refundUuid" : "c3968cdd-45e9-4306-ac37-8915e3e6b35e",
  "requestUuid" : "231b0ca1-be0e-40dd-beff-5d4c26bf2618",
  "merchantId" : "8e9f270c-a0d5-4816-b6e9-aae5949adcfa",
  "refundType": "CLEARING",
  "amount" : 1000
}
Table 138. Request headers
Name Description

Authorization

Basic auth credentials for PSP

Table 139. Refund request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

refundUuid

String

@Optional

Unique refund uuid, refund uuid must not be the same as transaction uuid

requestUuid

String

@Must not be null

Request’s unique uuid in system

merchantUuid

String

@Must not be null

Merchant’s unique uuid in system

refundType

String

@Optional

Refund type: AUTHORIZATION or CLEARING. Default is AUTHORIZATION.

amount

Number

@Must not be null

The total transfer amount (in pennies)

Refund with DCC Request
POST /processor/payments/refund HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 119
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "882de69c-7442-4a47-9788-cb8ab0b4bb08",
  "refundUuid" : "c3968cdd-45e9-4306-ac37-8915e3e6b35e",
  "requestUuid" : "231b0ca1-be0e-40dd-beff-5d4c26bf2618",
  "merchantId" : "8e9f270c-a0d5-4816-b6e9-aae5949adcfa",
  "amount" : 1000,
  "dcc":{
	"cardholderAmount" : 224,
	"cardholderCurrency" : "EUR",
	"conversionRateCardholder" : 0.2247541
  }
}
Table 140. Request headers
Name Description

Authorization

Basic auth credentials for PSP

Table 141. Refund request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

refundUuid

String

@Optional

Unique refund uuid, refund uuid must not be the same as transaction uuid

requestUuid

String

@Must not be null

Request’s unique uuid in system

merchantUuid

String

@Must not be null

Merchant’s unique uuid in system

amount

Number

@Must not be null

The total transfer amount (in pennies)

dcc

Object

@Must not be null

There are dcc data that have been send to our API

dcc.cardholderAmount

Number

@Must be at least 1, @Must not be null

The total refund amount (in pennies) in cardholder dcc currency

dcc.cardholderCurrency

String

@Must not be null

Currency of cardholder card (in accordance with ISO-4217), example: USD

dcc.conversionRateCardholder

BigDecimal

@Must not be null

The rate used to convert the refund amount to the cardholder billing amount

Emergency Refund with DCC Request
POST /processor/payments/refund HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 119
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "882de69c-7442-4a47-9788-cb8ab0b4bb08",
  "refundUuid" : "c3968cdd-45e9-4306-ac37-8915e3e6b35e",
  "requestUuid" : "231b0ca1-be0e-40dd-beff-5d4c26bf2618",
  "merchantId" : "8e9f270c-a0d5-4816-b6e9-aae5949adcfa",
  "refundType": "CLEARING",
  "amount" : 1000,
  "dcc":{
	"cardholderAmount" : 224,
	"cardholderCurrency" : "EUR",
	"conversionRateCardholder" : 0.2247541
  }
}
Table 142. Request headers
Name Description

Authorization

Basic auth credentials for PSP

Table 143. Refund request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

refundUuid

String

@Optional

Unique refund uuid, refund uuid must not be the same as transaction uuid

requestUuid

String

@Must not be null

Request’s unique uuid in system

merchantUuid

String

@Must not be null

Merchant’s unique uuid in system

refundType

String

@Optional

Refund type: AUTHORIZATION or CLEARING. Default is AUTHORIZATION.

amount

Number

@Must not be null

The total transfer amount (in pennies)

dcc

Object

@Must not be null

There are dcc data that have been send to our API

dcc.cardholderAmount

Number

@Must be at least 1, @Must not be null

The total refund amount (in pennies) in cardholder dcc currency

dcc.cardholderCurrency

String

@Must not be null

Currency of cardholder card (in accordance with ISO-4217), example: USD

dcc.conversionRateCardholder

BigDecimal

@Must not be null

The rate used to convert the refund amount to the cardholder billing amount

6.11.2. Response

Response status
Status Description

200 OK

STATUS: S0010 - Returned when refund was accepted.

STATUS: S0011 - Returned when refund was declined

STATUS: S00010 - Returned when emergency refund was executed.

400 BAD REQUEST

STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid.

STATUS: E00182 - Returned when refund transaction amount is to low.

STATUS: E00183 - Returned when refund transaction amount is to high.

401 UNAUTHORIZED

STATUS: E80002 - Returned when you are the problem with authorized to your PSP.

403 FORBIDDEN

STATUS: E80001 - Returned when server understood the request but refuses to authorize it.

404 NOT FOUND

STATUS: E00155 - Returned when not found transaction or transaction not exist.

422 UNPROCESSABLE ENTITY

STATUS: E00185 - Returned when cannot process refund because transaction is not cleared yet.

STATUS: E00186 - Returned when refund is already processing.

STATUS: E00187 - Returned when refund transaction was chargeback reported.

STATUS: E00188 - Returned when refund is Installment Payment processing.

STATUS: E00189 - Returned when refundUuid is non unique in system.

STATUS: E00190 - Returned when the cumulative refund amount exceeding transaction cleared amount.

500 INTERNAL SERVER ERROR

STATUS: E00180 - Returned when there is no Mastercard response and refund was rejected.

STATUS: E00181 - Returned when refund was rejected by Mastercard.

STATUS: E001912 - Returned when installment payment refund is not allowed.

STATUS: E90000 - Returned when refund was rejected by internal server error.

503 SERVICE UNAVAILABLE

STATUS: E90001 - Returned when is error acquirer connection.

200 OK
HTTP Response - STATUS: S00002
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "transactionUuid" : "882de69c-7442-4a47-9788-cb8ab0b4bb08",
  "refundUuid" : "c3968cdd-45e9-4306-ac37-8915e3e6b35e",
  "requestUuid" : "231b0ca1-be0e-40dd-beff-5d4c26bf2618",
  "refundStatus" : "APPROVED",
  "responseCode" : "CODE_00",
  "rrn" : "007007614129",
  "stan" : "614129",
  "provider" : "MASTERCARD",
  "cardType" : "DMC",
  "status" : "S00002",
  "message" : "Success",
  "httpStatus" : "OK"
}
HTTP Response - STATUS: S00010
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "requestUuid": "a19afd3e-00d0-4766-85b8-fad33f842f51",
  "transactionUuid": "da65a2dd-97ec-4c5e-8a38-0723d6d2df06",
  "refundUuid": "a19afd3e-00d0-4766-85b8-fad33f842f51",
  "refundStatus": "REFUND_PROCESSING_CLEARING",
  "status": "S00010",
  "message": "SUCCESS",
  "httpStatus": "OK"
}
Table 144. Refund response fields
Path Type Description

transactionUuid

String

Transaction’s unique uuid in system

refundUuid

String

Refund unique uuid in system, refund uuid must not be the same as transaction uuid

requestUuid

String

Request’s unique uuid in system

refundStatus

String

Transaction status

responseCode

String

Response code

rrn

String

Retrieval Reference Number

stan

String

System Trace Audit Number (STAN)

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard
DMC - Debit Mastercard
MSI - Maestro
CIR - Cirrus
PVL - Private Label

Card type for Visa:

C - Credit
D - Debit
P - Prepaid
H - Charge
R – Deferred Debit
Space – Not applicable

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

400 BAD REQUEST
HTTP Response - STATUS: E80000
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:44 GMT
Connection: close
Content-Length: 265

{
  "errors": {
        "transactionUuid": [
            "must not be null"
        ],
        "merchantId": [
            "must not be null"
        ],
        "requestUuid": [
            "must not be null"
        ],
        "amountToRefund":[
            "must not be null"
        ],
        "dcc.conversionRateCardholder": [
            "must not be null"
        ],
        "dcc.cardholderCurrency": [
            "must not be null"
        ],
        "dcc.cardholderAmount": [
            "must not be null"
        ],
        "dcc.cardholderAmount": [
            "must be greater than or equal to 1"
        ]
    },
  "status" : "E80000",
  "httpStatus" : "BAD_REQUEST",
  "traceId" : "e7b03adc-5bc6-4d41-88b8-7605b2602a02"
}
Table 145. Response fields Path
Path Type Description

status

String

Response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

HTTP Response - STATUS: E00182
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:44 GMT
Connection: close
Content-Length: 265

{
    "requestUuid": "6e2b184d-6031-4341-9a6d-277dd72e9a0d",
    "transactionUuid": "3592d4aa-7f6f-4ad6-b13b-8947d2d77053",
    "refundUuid" : "c3968cdd-45e9-4306-ac37-8915e3e6b35e",
    "refundStatus": "REJECTED",
    "status": "E00183",
    "message": "Refund transaction amount to low",
    "httpStatus": "BAD_REQUEST",
    "traceId": "79e8a43b-59d0-44d9-acb9-dfbc5fcb29cd"
}
Table 146. Response fields Path
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

refundUuid

String

Refund unique uuid in system, refund uuid must not be the same as transaction uuid

refundStatus

String

Reversal status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

HTTP Response - STATUS: E00183
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:44 GMT
Connection: close
Content-Length: 265

{
    "requestUuid": "6e2b184d-6031-4341-9a6d-277dd72e9a0d",
    "transactionUuid": "3592d4aa-7f6f-4ad6-b13b-8947d2d77053",
    "refundUuid" : "c3968cdd-45e9-4306-ac37-8915e3e6b35e",
    "refundStatus": "REJECTED",
    "status": "E00183",
    "message": "Refund transaction amount to high",
    "httpStatus": "BAD_REQUEST",
    "traceId": "79e8a43b-59d0-44d9-acb9-dfbc5fcb29cd"
}
Table 147. Response fields Path
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

refundUuid

String

Refund unique uuid in system, refund uuid must not be the same as transaction uuid

refundStatus

String

Reversal status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

401 UNAUTHORIZED
HTTP Response - STATUS: E80002
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:44 GMT

{
    "timestamp": "2020-06-01T07:17:31.968+0000"
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/processor/payments/refund"
}
Table 148. Response fields Path
Path Type Description

timestamp

String

Timestamp

status

Number

Response code from Fenige system

error

String

Error

message

String

Message for response code from Fenige system

path

String

Path

404 NOT FOUND
HTTP Response - STATUS: E00155
HTTP/1.1 404 Not Found
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:44 GMT
Content-Length: 260

{
    "requestUuid": "2650b78a-c99e-4712-931f-4cbe5808d5d0",
    "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
    "refundUuid" : "c3968cdd-45e9-4306-ac37-8915e3e6b35e",
    "refundStatus": "REFUND_TRANSACTION_NOT_FOUND",
    "status": "E00155",
    "message": "Transaction not exist",
    "httpStatus": "NOT_FOUND",
    "traceId": "37a007c7-d36a-4a14-8bf5-ae92f02eac31"
}
Table 149. Response fields Path
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

refundUuid

String

Refund unique uuid in system, refund uuid must not be the same as transaction uuid

refundStatus

String

Reversal status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

422 UNPROCESSABLE ENTITY
HTTP Response - STATUS: E00185
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:44 GMT
Content-Length: 257

{
  "requestUuid" : "2650b78a-c99e-4712-931f-4cbe5808d5d0",
  "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
  "refundUuid" : "c3968cdd-45e9-4306-ac37-8915e3e6b35e",
  "refundStatus" : "TRANSACTION_NOT_CLEARED",
  "status" : "E00185",
  "message" : "Transaction not cleared, can't refund",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "e9eca854-196a-47ab-a4c9-ae3b00690457"
}
HTTP Response - STATUS: E00186
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:44 GMT
Content-Length: 255

{
  "requestUuid" : "2650b78a-c99e-4712-931f-4cbe5808d5d0",
  "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
  "refundUuid" : "c3968cdd-45e9-4306-ac37-8915e3e6b35e",
  "refundStatus" : "REFUND_PROCESSING",
  "status" : "E00186",
  "message" : "Refund is already processing",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "a42619c0-acab-440f-90f8-d4d79db46786"
}
HTTP Response - STATUS: E00187
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 22 Jul 2020 08:18:49 GMT
Content-Length: 257

{
    "requestUuid": "e3f72d52-e19a-4162-9ff6-3906d40db7db",
    "transactionUuid": "e3f72d52-e19a-4162-9ff6-3906d40db7db",
    "refundUuid" : "c3968cdd-45e9-4306-ac37-8915e3e6b35e",
    "refundStatus": "CHARGEBACK_REPORTED",
    "status": "E00187",
    "message": "Transaction is chargeback reported",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "1b01668d-cabc-4641-9c36-fef03fc82e92"
}
HTTP Response - STATUS: E00188
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 22 Jul 2020 08:18:49 GMT
Content-Length: 257

{
    "requestUuid": "e3f72d52-e19a-4162-9ff6-3906d40db7db",
    "transactionUuid": "e3f72d52-e19a-4162-9ff6-3906d40db7db",
    "refundUuid" : "c3968cdd-45e9-4306-ac37-8915e3e6b35e",
    "refundStatus": "INSTALLMENT_PAYMENT_PROCESSING",
    "status": "E00188",
    "message": "Unable to refund. The transaction is Installment Payment processing.",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "1b01668d-cabc-4641-9c36-fef03fc82e92"
}
HTTP Response - STATUS: E00189
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 22 Jul 2020 08:18:49 GMT
Content-Length: 257

{
    "requestUuid": "38ac7a93-cf02-4943-ac19-d5398175e852",
    "transactionUuid": "1ee80930-56d6-41b1-9734-9db54eb09724",
    "refundUuid": "1ee80930-56d6-41b1-9734-9db54eb09724",
    "refundStatus": "REJECTED",
    "status": "E00189",
    "message": "Refund rejected, refundUuid non unique in system",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "facdbd7b-cda7-4177-9fd5-2795a286a87a"
}
HTTP Response - STATUS: E00190
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 22 Jul 2020 08:18:49 GMT
Content-Length: 257

{
    "requestUuid": "cef4c8a8-8679-408a-a3f4-687d1c84c5ca",
    "transactionUuid": "7935b537-ef55-4ba3-a7fd-0d4a76d2a763",
    "refundUuid": "7935b537-ef55-4ba3-a7fd-0d4a76d2a763",
    "refundStatus": "REJECTED",
    "status": "E00190",
    "message": "Refund rejected, the cumulative refund amount exceeding transaction cleared amount",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "5c3d0bab-5a7c-4d92-b9aa-407cd524e539"
}
Table 150. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

refundUuid

String

Refund unique uuid in system, refund uuid must not be the same as transaction uuid

refundStatus

String

Reversal status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

500 INTERNAL SERVER ERROR
HTTP Response - STATUS: E00180
HTTP/1.1 500 Internal Server Error
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:44 GMT
Content-Length: 267

{
  "requestUuid" : "2650b78a-c99e-4712-931f-4cbe5808d5d0",
  "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
  "refundUuid" : "c3968cdd-45e9-4306-ac37-8915e3e6b35e",
  "refundStatus" : "DECLINED",
  "status" : "E00180",
  "message" : "Refund rejected, co MC/VISA response",
  "httpStatus" : "INTERNAL_SERVER_ERROR",
  "traceId" : "9c08ba62-0c14-4b4e-b71f-2c9bc85b89d1"
}
HTTP Response - STATUS: E00181
HTTP/1.1 500 Internal Server Error
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:44 GMT
Content-Length: 257

{
  "requestUuid" : "2650b78a-c99e-4712-931f-4cbe5808d5d0",
  "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
  "refundUuid" : "c3968cdd-45e9-4306-ac37-8915e3e6b35e",
  "refundStatus" : "DECLINED",
  "status" : "E00181",
  "message" : "Refund rejected by MC/VISA",
  "httpStatus" : "INTERNAL_SERVER_ERROR",
  "traceId" : "e9eca854-196a-47ab-a4c9-ae3b00690457"
}
HTTP Response - STATUS: E001912
HTTP/1.1 500 Internal Server Error
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:44 GMT
Content-Length: 257

{
  "requestUuid" : "2650b78a-c99e-4712-931f-4cbe5808d5d0",
  "transactionUuid": "ab19f70c-d4ef-4e9b-bf5f-05d0fee80eb2",
  "refundUuid" : "c3968cdd-45e9-4306-ac37-8915e3e6b35e",
  "refundStatus" : "DECLINED",
  "status" : "E001912",
  "message" : "Installment Payment refund not allowed",
  "httpStatus" : "INTERNAL_SERVER_ERROR",
  "traceId" : "e9eca854-196a-47ab-a4c9-ae3b00690457"
}
Table 151. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

refundUuid

String

Refund unique uuid in system, refund uuid must not be the same as transaction uuid

refundStatus

String

Reversal status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

503 SERVICE UNAVAILABLE
HTTP Response - STATUS: E90001
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 267

{
    "requestUuid" : "849343cf-a0c0-439b-a64d-476a7e5afbc6",
    "transactionUuid" : "6d6463cf-d644-47b0-b285-d505784a9757",
    "refundUuid" : "c3968cdd-45e9-4306-ac37-8915e3e6b35e",
    "refundStatus": "ERROR",
    "status": "E90001",
    "message": "Error acquirer connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "eb3eb56f-2e01-4211-ba34-654b5a5f2c31"
}
Table 152. Response fields
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Unique transaction uuid which, together with the merchantId, identifies transactions

refundUuid

String

Refund unique uuid in system, refund uuid must not be the same as transaction uuid

refundStatus

String

Transaction status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

6.12. Clearing

POST /processor/payments/clearing Content Type: application/json, Authorization: Basic Auth
Clearing is the process where processor and issuers exchanges information about transaction data. It includes sending information about transactions from the processor to
the issuer for posting to the cardholder’s account. Using this method, we can just process transaction clearing.
It is possible to execute clearing with full payment amount and partial payment amount.
Notice that there is 7 (for VISA) or 30 (for Mastercard) days to execute clearing process if field 'autoClear' in payment request is set as 'false'.
In the case of Mastercard, false flag means that the transaction is treated as a pre-authorization and, according to the organization's requirements, the
clearing time is 30 days from the time of authorization.
clearing payment request

6.12.1. Full Clearing

Request
HTTP Request for full clearing
POST /processor/payments/clearing HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 119
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "8b609693-772e-464b-9912-7e962e13994b",
  "requestUuid" : "3e71a92d-43a2-43c0-b12e-f4a4997d068d",
  "merchantId" : "2505921c-1f7a-4d20-a81d-fb48df85c3a5"
}
Table 153. Request headers
Name Description

Authorization

Basic auth credentials for PSP

Table 154. Full clearing request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Transaction’s unique uuid in system

merchantId

String

@Must not be null

Merchant’s unique uuid in system

requestUuid

String

@Must not be null

Request’s unique uuid in system

Response
Response status
Status Description

202 ACCEPTED

Returned when transaction was accepted.

400 BAD REQUEST

STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid.

401 UNAUTHORIZED

STATUS: E80002 - Returned when you are the problem with authorized to your PSP.

403 FORBIDDEN

STATUS: E80001 - Returned when server understood the request but refuses to authorize it.

404 NOT FOUND

STATUS: E00155 - Returned when payment not exist.

422 UNPROCESSABLE ENTITY

STATUS: E00170 - Returned when clearing of the payment is procesing.

STATUS: E00171 - Returned when can’t clear payment.

STATUS: E00172 - Returned when can’t clear payment, the time is over.

STATUS: E00173 - Returned when payment is automatically cleared.

STATUS: E00174 - Returned when payment is already cleared.

500 INTERNAL SERVER ERROR

STATUS: E90000 - Returned when reason is unknown.

503 SERVICE UNAVAILABLE

STATUS: E90001 - Returned when is error acquirer connection.

200 OK
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "completion": {
        "estimate": [2020, 5, 15, 9, 1, 24, 261000000 ]
    },
  "requestUuid" : "3e71a92d-43a2-43c0-b12e-f4a4997d068d",
  "transactionUuid" : "8b609693-772e-464b-9912-7e962e13994b",
  "status" : "S00004",
  "message" : "PENDING",
  "httpStatus" : "ACCEPTED"
}
Table 155. Response fields Path
Path Type Description

completion.estimate

Array

Completion estimate for clearing

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

400 BAD REQUEST
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Connection: close
Content-Length: 283

{
  "errors": {
        "transactionUuid": [
            "must not be null"
        ],
        "merchantId": [
            "must not be null"
        ],
        "requestUuid": [
            "must not be null"
        ]
    },
  "status" : "E80000",
  "httpStatus" : "BAD_REQUEST",
  "traceId" : "f5850151-6ada-4460-a644-6a6a21ec4a99"
}
Table 156. Response fields Path
Path Type Description

status

String

Response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

401 UNAUTHORIZED
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:40 GMT

{
    "timestamp": "2020-06-01T07:17:31.968+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/processor/payments/clearing"
}
Table 157. Response fields Path
Path Type Description

timestamp

String

Timestamp

status

Number

Response code from Fenige system

error

String

Error

message

String

Message for response code from Fenige system

path

String

Path

403 FORBIDDEN
HTTP/1.1 403 Forbidden
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 152
Date: Thu, 12 Mar 2020 14:03:40 GMT

{
    "timestamp": 1589525560329,
    "status": 403,
    "error": "Forbidden",
    "message": "Forbidden",
    "path": "/processor/payments/clearing"
}
Table 158. Response fields Path
Path Type Description

timestamp

Number

Timestamp

status

Number

Response code from Fenige system

error

String

Error

message

String

Message for response code from Fenige system

path

String

Path

404 NOT FOUND
HTTP/1.1 404 Not Found
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Content-Length: 260

{
    "requestUuid": "3e71a92d-43a2-43c0-b12e-f4a4997d068d",
    "transactionUuid": "8b609693-772e-464b-9912-7e962e13994b",
    "clearingStatus": "CLEARING_TRANSACTION_NOT_FOUND",
    "status": "E00155",
    "message": "Transaction not exist",
    "httpStatus": "NOT_FOUND",
    "traceId": "577fcbc4-d469-4540-8877-7ecebebd78b7"
}
Table 159. Response fields Path
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

clearingStatus

String

Clearing status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

422 UNPROCESSABLE ENTITY
HTTP Response - STATUS: E00170
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Content-Length: 267

{
    "requestUuid": "10366f42-6b2c-453c-b2e2-8bb810e4da95",
    "transactionUuid": "f1446df6-350e-404c-98f1-1ebfad4f44d0",
    "clearingStatus": "PROCESSING",
    "status": "E00170",
    "message": "Clearing of the payment is processing",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "17ecacc5-5468-4514-bfee-840d1303ba82"
}
HTTP Response - STATUS: E00171
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Content-Length: 267

{
  "requestUuid" : "6dd9775c-8bca-4aa3-bf1b-025c8dc3b520",
  "transactionUuid": "f1446df6-350e-404c-98f1-1ebfad4f44d0",
  "clearingStatus" : "CANNOT_CLEAR",
  "status" : "E00171",
  "message" : "Can't clear payment",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "24d54463-d561-4c52-894f-aa6b3dfe7bd5"
}
HTTP Response - STATUS: E00172
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Content-Length: 267

{
  "requestUuid" : "6dd9775c-8bca-4aa3-bf1b-025c8dc3b520",
  "transactionUuid": "f1446df6-350e-404c-98f1-1ebfad4f44d0",
  "clearingStatus" : "TIME_IS_OVER",
  "status" : "E00172",
  "message" : "Can't clear payment, the time is over",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "29b3786f-7cce-401a-9f6c-c13d9c2effab"
}
HTTP Response - STATUS: E00173
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Content-Length: 267

{
  "requestUuid" : "6dd9775c-8bca-4aa3-bf1b-025c8dc3b520",
  "transactionUuid": "f1446df6-350e-404c-98f1-1ebfad4f44d0",
  "clearingStatus" : "APPROVED",
  "status" : "E00173",
  "message" : "Payment is automatically cleared",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "bd901a22-8902-42f5-abfe-d548ee216f43"
}
HTTP Response - STATUS: E00174
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Content-Length: 254

{
  "requestUuid" : "3e71a92d-43a2-43c0-b12e-f4a4997d068d",
  "transactionUuid": "8b609693-772e-464b-9912-7e962e13994b",
  "clearingStatus" : "APPROVED",
  "status" : "E00174",
  "message" : "Payment is already cleared",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "975d3b62-1a74-4458-97f6-ea350e05c844"
}
HTTP Response - STATUS: E00175
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Content-Length: 254

{
  "requestUuid" : "3e71a92d-43a2-43c0-b12e-f4a4997d068d",
  "transactionUuid": "8b609693-772e-464b-9912-7e962e13994b",
  "clearingStatus" : "APPROVED",
  "status" : "E00175",
  "message" : "Can't replay payment, clearing amount is to low",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "975d3b62-1a74-4458-97f6-ea350e05c844"
}
HTTP Response - STATUS: E00176
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Content-Length: 254

{
  "requestUuid" : "3e71a92d-43a2-43c0-b12e-f4a4997d068d",
  "transactionUuid": "8b609693-772e-464b-9912-7e962e13994b",
  "clearingStatus" : "APPROVED",
  "status" : "E00176",
  "message" : "Can't replay payment, clearing amount is to high",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "975d3b62-1a74-4458-97f6-ea350e05c844"
}
Table 160. Response fields Path
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

clearingStatus

String

Clearing status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

500 INTERNAL SERVER ERROR
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 255

{
  "requestUuid" : "f42024f6-3d41-49c8-99e7-ca0cc3063162",
  "transactionUuid": "f1446df6-350e-404c-98f1-1ebfad4f44d0",
  "clearingStatus" : "ERROR",
  "status" : "E90000",
  "message" : "Domain error",
  "httpStatus" : "INTERNAL_SERVER_ERROR",
  "traceId" : "c4a761c6-dfca-4a19-9ffa-83169aeed826"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

clearingStatus

String

Clearing status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

503 SERVICE UNAVAILABLE
HTTP Response - STATUS: E90001
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 266

{
    "status": "E90001",
    "message": "Error acquirer connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "04bc67d6-8176-4714-85da-b1842f809ad4"
}
Table 161. Response fields Path
Path Type Description

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

6.12.2. Partial Clearing

Request
HTTP Request for partial clearing
POST /processor/payments/clearing HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 119
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "8b609693-772e-464b-9912-7e962e13994b",
  "requestUuid" : "3e71a92d-43a2-43c0-b12e-f4a4997d068d",
  "merchantId" : "0df3a9ab-49b1-4d79-9964-0e0a8b7a8a56",
  "amount" : 100
}
Table 162. Request headers
Name Description

Authorization

Basic auth credentials for PSP

Table 163. Partial clearing request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

merchantUuid

String

@Must not be null

Merchant’s unique uuid in system

requestUuid

String

@Must not be null

Request’s unique uuid in system

amount

Number

@Must be at least 100, @Must not be null

The total transfer amount (in pennies)

Response
Response status
Status Description

202 ACCEPTED

Returned when transaction was accepted.

400 BAD REQUEST

STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid.

401 UNAUTHORIZED

STATUS: E80002 - Returned when you are the problem with authorized to your PSP.

403 FORBIDDEN

STATUS: E80001 - Returned when server understood the request but refuses to authorize it.

404 NOT FOUND

STATUS: E00155 - Returned when payment not exist.

422 UNPROCESSABLE ENTITY

STATUS: E00170 - Returned when clearing of the payment is procesing.

STATUS: E00171 - Returned when can’t clear payment.

STATUS: E00172 - Returned when can’t clear payment, the time is over.

STATUS: E00173 - Returned when payment is automatically cleared.

STATUS: E00174 - Returned when payment is already cleared.

STATUS: E00175 - Returned when can’t clear payment, clearing amount is to low

STATUS: E00176 - Returned when can’t clear payment, clearing amount is to high

500 INTERNAL SERVER ERROR

STATUS: E90000 - Returned when reason is unknown.

503 SERVICE UNAVAILABLE

STATUS: E90001 - Returned when is error acquirer connection.

200 OK
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "completion" : {
	"estimate" : [ 2020, 3, 6, 15, 43, 22, 903000000 ]
  },
  "requestUuid" : "3e71a92d-43a2-43c0-b12e-f4a4997d068d",
  "transactionUuid" : "8b609693-772e-464b-9912-7e962e13994b",
  "status" : "S00004",
  "message" : "PENDING",
  "httpStatus" : "ACCEPTED"
}
Table 164. Response fields Path
Path Type Description

completion.estimate

Array

Completion estimate for clearing

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

400 BAD REQUEST
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Connection: close
Content-Length: 283

{
  "errors": {
        "transactionUuid": [
            "must not be null"
        ],
        "merchantId": [
            "must not be null"
        ],
        "requestUuid": [
            "must not be null"
        ]
        "amount" : [
            "must be greater than or equal to 1"
        ]
  },
  "status" : "E80000",
  "httpStatus" : "BAD_REQUEST",
  "traceId" : "f5850151-6ada-4460-a644-6a6a21ec4a99"
}
Table 165. Response fields Path
Path Type Description

status

String

Response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

401 UNAUTHORIZED
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:40 GMT

{
    "timestamp": "2020-06-01T07:17:31.968+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/processor/payments/clearing"
}
Table 166. Response fields Path
Path Type Description

timestamp

String

Timestamp

status

Number

Response code from Fenige system

error

String

Error

message

String

Message for response code from Fenige system

path

String

Path

403 FORBIDDEN
HTTP/1.1 403 Forbidden
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 152
Date: Thu, 12 Mar 2020 14:03:40 GMT

{
    "timestamp": 1589525560329,
    "status": 403,
    "error": "Forbidden",
    "message": "Forbidden",
    "path": "/processor/payments/clearing"
}
Table 167. Response fields Path
Path Type Description

timestamp

Number

Timestamp

status

Number

Response code from Fenige system

error

String

Error

message

String

Message for response code from Fenige system

path

String

Path

404 NOT FOUND
HTTP/1.1 404 Not Found
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Content-Length: 260

{
    "requestUuid": "3e71a92d-43a2-43c0-b12e-f4a4997d068d",
    "transactionUuid": "8b609693-772e-464b-9912-7e962e13994b",
    "clearingStatus": "CLEARING_TRANSACTION_NOT_FOUND",
    "status": "E00155",
    "message": "Transaction not exist",
    "httpStatus": "NOT_FOUND",
    "traceId": "577fcbc4-d469-4540-8877-7ecebebd78b7"
}
Table 168. Response fields Path
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

clearingStatus

String

Clearing status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

422 UNPROCESSABLE ENTITY
HTTP Response - STATUS: E00170
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Content-Length: 267

{
    "requestUuid": "10366f42-6b2c-453c-b2e2-8bb810e4da95",
    "transactionUuid": "f1446df6-350e-404c-98f1-1ebfad4f44d0",
    "clearingStatus": "PROCESSING",
    "status": "E00170",
    "message": "Clearing of the payment is processing",
    "httpStatus": "UNPROCESSABLE_ENTITY",
    "traceId": "17ecacc5-5468-4514-bfee-840d1303ba82"
}
HTTP Response - STATUS: E00171
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Content-Length: 267

{
  "requestUuid" : "6dd9775c-8bca-4aa3-bf1b-025c8dc3b520",
  "transactionUuid": "f1446df6-350e-404c-98f1-1ebfad4f44d0",
  "clearingStatus" : "CANNOT_CLEAR",
  "status" : "E00171",
  "message" : "Can't clear payment",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "24d54463-d561-4c52-894f-aa6b3dfe7bd5"
}
HTTP Response - STATUS: E00172
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Content-Length: 267

{
  "requestUuid" : "6dd9775c-8bca-4aa3-bf1b-025c8dc3b520",
  "transactionUuid": "f1446df6-350e-404c-98f1-1ebfad4f44d0",
  "clearingStatus" : "TIME_IS_OVER",
  "status" : "E00172",
  "message" : "Can't clear payment, the time is over",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "29b3786f-7cce-401a-9f6c-c13d9c2effab"
}
HTTP Response - STATUS: E00173
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Content-Length: 267

{
  "requestUuid" : "6dd9775c-8bca-4aa3-bf1b-025c8dc3b520",
  "transactionUuid": "f1446df6-350e-404c-98f1-1ebfad4f44d0",
  "clearingStatus" : "APPROVED",
  "status" : "E00173",
  "message" : "Payment is automatically cleared",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "bd901a22-8902-42f5-abfe-d548ee216f43"
}
HTTP Response - STATUS: E00174
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Content-Length: 254

{
  "requestUuid" : "3e71a92d-43a2-43c0-b12e-f4a4997d068d",
  "transactionUuid": "8b609693-772e-464b-9912-7e962e13994b",
  "clearingStatus" : "APPROVED",
  "status" : "E00174",
  "message" : "Payment is already cleared",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "975d3b62-1a74-4458-97f6-ea350e05c844"
}
HTTP Response - STATUS: E00175
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Content-Length: 254

{
  "requestUuid" : "3e71a92d-43a2-43c0-b12e-f4a4997d068d",
  "transactionUuid": "8b609693-772e-464b-9912-7e962e13994b",
  "clearingStatus" : "APPROVED",
  "status" : "E00175",
  "message" : "Can't replay payment, clearing amount is to low",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "975d3b62-1a74-4458-97f6-ea350e05c844"
}
HTTP Response - STATUS: E00176
HTTP/1.1 422 Unprocessable Entity
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Content-Length: 254

{
  "requestUuid" : "3e71a92d-43a2-43c0-b12e-f4a4997d068d",
  "transactionUuid": "8b609693-772e-464b-9912-7e962e13994b",
  "clearingStatus" : "APPROVED",
  "status" : "E00176",
  "message" : "Can't replay payment, clearing amount is to high",
  "httpStatus" : "UNPROCESSABLE_ENTITY",
  "traceId" : "975d3b62-1a74-4458-97f6-ea350e05c844"
}
Table 169. Response fields Path
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

clearingStatus

String

Clearing status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

500 INTERNAL SERVER ERROR
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 255

{
  "requestUuid" : "f42024f6-3d41-49c8-99e7-ca0cc3063162",
  "transactionUuid": "f1446df6-350e-404c-98f1-1ebfad4f44d0",
  "clearingStatus" : "ERROR",
  "status" : "E90000",
  "message" : "Domain error",
  "httpStatus" : "INTERNAL_SERVER_ERROR",
  "traceId" : "c4a761c6-dfca-4a19-9ffa-83169aeed826"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

clearingStatus

String

Clearing status

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

503 SERVICE UNAVAILABLE
HTTP Response - STATUS: E90001
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 266

{
    "status": "E90001",
    "message": "Error acquirer connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "04bc67d6-8176-4714-85da-b1842f809ad4"
}
Table 170. Response fields Path
Path Type Description

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

6.13. Details

GET /processor/payments/query/{requestUuid}/{merchantId}/{transactionUuid} Authorization: Basic Auth
This method could be used for check transaction details. In response for the request you can find out more about registered transaction and check its status etc.

6.13.1. Request

GET /processor/payments/query/85e1d868-b573-4de5-a1c2-f3e9762dd306/19caef50-89d8-42a8-a9c4-c747606cc0b6/7ac385f1-6f6f-4cf7-849a-7125d9b85c10 HTTP/1.1
Authorization: Basic bmFtZTpwYXNzd29yZA==
Host: processor-staging.fenige.pl
Name Description

Authorization

Basic auth credentials for PSP

Table 171. /processor/payments/query/{requestUuid}/{merchantId}/{transactionUuid}
Parameter Description

requestUuid

Request’s unique uuid in system

transactionUuid

Transaction’s unique uuid in system

merchantId

Merchant’s unique id in system

6.13.2. Response

Response status
Status Description

200 OK

Returned when transaction details was successfully returned.

401 UNAUTHORIZED

STATUS: E80002 - Returned when you are the problem with authorized to your PSP.

403 FORBIDDEN

STATUS: E80001 - Returned when server understood the request but refuses to authorize it.

500 INTERNAL SERVER ERROR

STATUS: E00154 - Returned when failed to fetch transaction details.

STATUS: E90000 - Returned when reason is unknown.

200 OK (without clearing)
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 887

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
  "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
  "createdDate" : "2024-04-20 01:21:35",
  "amount" : 1000,
  "currency" : "USD",
  "provider" : "MASTERCARD",
  "cardType" : "DMC",
  "cardNumber" : "511796******1779",
  "defaultCurrency" : "PLN",
  "bankName" : "BANK MILLENNIUM S.A.",
  "countryCardIssuing" : "POL",
  "countryCodeNumeric" : "616",
  "region" : "EUROPE",
  "gcmsProductId" : "MDS",
  "eeaDomesticRateQualificationIndicator" : "Y",
  "responseCode" : "CODE_00",
  "authorizeRRN" : "014011103023",
  "authorizeStan" : "103023",
  "transactionStatus" : "APPROVED",
  "clearingAmount" : 1000,
  "autoClear" : true,
  "authorizationType" : "ELECTRONIC_COMMERCE_PURCHASE",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

merchantId

String

Merchant’s unique id in system

createdDate

String

Transaction creation date in format "yyyy-MM-dd HH:mm:ss"

amount

Number

Transaction amount (in pennies)

currency

String

Transaction currency

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard

DMC - Debit Mastercard

MSI - Maestro

CIR - Cirrus

PVL - Private Label

Card type for Visa:

C - Credit

D - Debit

P - Prepaid

H - Charge

cardNumber

String

Masked card number

defaultCurrency

String

Default currency code for card

bankName

String

Bank name only for Mastercard

countryCardIssuing

String

Country card Issuing for Mastercard:

- ISO 3166-1 Alpha-3

countryCodeNumeric

String

Country code numeric for Mastercard::

- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES

- CANADA

- LATINA_AMERICA_AND_THE_CARIBBEAN

- ASIA_PACIFIC

- EUROPE

- SOUTH_ASIA_MIDDLE_EAST_AFRICA

- ANY

gcmsProductId

String

Gcms product id only for Mastercard:

This is the Product ID recognized by GCMS for the issuer account range and card program identifier combination. It may be different from the Licensed Product ID associated with the issuer account range and card program identifier combination.

eeaDomesticRateQualificationIndicator

String

EEA Domestic Rate Qualification Indicator only for Mastercard:

Y = EEA Domestic Rate qualified

N = Not EEA Domestic Rate qualified

responseCode

String

TResponse code

authorizeRRN

String

Retrieval Reference Number

authorizeStan

String

System Trace Audit Number (STAN)

transactionStatus

String

Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR

clearingAmount

Number

Clearing amount (in pennies)

autoClear

Boolean

Is auto clear enabled. Enabled if true, is not enabled if false. This flag allows to decide if the authorization should be cleared automatically according to the adopted clearing cycles on the Fenige side (option true). If it is set to false it means that the funds will only be blocked in the user account until the manual clearing method from chapter 5.12 Clearing is called.

authorizationType

String

Authorization type: ELECTRONIC_COMMERCE_PURCHASE, ELECTRONIC_COMMERCE_TOKEN_AUTHORIZATION, CREDENTIAL_ON_FILE_INITIAL, CREDENTIAL_ON_FILE_SUBSEQUENT, RECURRING_INITIAL, RECURRING_SUBSEQUENT, MANUAL_ENTRY_MOTO_PURCHASE, INSTALLMENT_PAYMENT_PURCHASE

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

200 OK (with clearing)
HTTP Status - Full Clearing
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1049

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
  "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
  "createdDate" : "2024-04-20 01:21:35",
  "amount" : 1000,
  "currency" : "USD",
  "provider" : "VISA",
  "cardType" : "C",
  "cardNumber" : "487474*****1296",
  "defaultCurrency" : "PLN",
  "countryCardIssuing" : "POL",
  "countryCodeNumeric" : "616",
  "region" : "3",
  "productId" : "P",
  "binType" : "I",
  "domain" : "W",
  "settlementMatch" : " ",
  "responseCode" : "CODE_00",
  "authorizeRRN" : "014011103023",
  "authorizeStan" : "103023",
  "transactionStatus" : "CLEARED",
  "clearingAmount" : 1000,
  "clearingStatus" : "APPROVED",
  "clearingFileName" : "2020_07_08_00_28_02_488_MerchantName_23183_4111_clearing.IPM",
  "clearingFileId" : "0022005190000001621250287",
  "arn" : "05411640143500000019325",
  "autoClear" : true,
  "authorizationType" : "ELECTRONIC_COMMERCE_PURCHASE",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}
HTTP Status - Partial Clearing
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1049

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
  "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
  "createdDate" : "2024-04-20 01:21:35",
  "amount" : 1000,
  "currency" : "USD",
  "provider" : "VISA",
  "cardType" : "C",
  "cardNumber" : "487474*****1296",
  "defaultCurrency" : "PLN",
  "countryCardIssuing" : "POL",
  "countryCodeNumeric" : "616",
  "region" : "3",
  "productId" : "P",
  "binType" : "I",
  "domain" : "W",
  "settlementMatch" : " ",
  "responseCode" : "CODE_00",
  "authorizeRRN" : "014011103023",
  "authorizeStan" : "103023",
  "transactionStatus" : "CLEARED",
  "clearingAmount" : 1000,
  "clearingStatus" : "APPROVED",
  "clearingFileName" : "2020_07_08_00_28_02_488_MerchantName_23183_4111_clearing.IPM",
  "clearingFileId" : "0022005190000001621250287",
  "arn" : "05411640143500000019325",
  "autoClear" : true,
  "authorizationType" : "ELECTRONIC_COMMERCE_PURCHASE",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

merchantId

String

Merchant’s unique id in system

createdDate

String

Transaction creation date in format "yyyy-MM-dd HH:mm:ss"

amount

Number

Transaction amount (in pennies)

currency

String

Transaction currency

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard

DMC - Debit Mastercard

MSI - Maestro

CIR - Cirrus

PVL - Private Label

Card type for Visa:

C - Credit

D - Debit

P - Prepaid

H - Charge

R – Deferred Debit

Space – Not applicable

cardNumber

String

Masked card number

defaultCurrency

String

Default currency code for card

countryCardIssuing

String

Country card Issuing for Visa:

- ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Visa::

- ISO 3166-1 Numeric

region

String

Region for Visa:

1 = US

2 = Canada

3 = Visa Europe

4 = Asia-Pacific

5 = Latin America and Carribean

6 = CEMEA

binType

String

Bin type for Visa:

F = Full Service

I = Issuer Only

M = Merchant Only

N = Nonfinancial

O = On Behalf Of (OBO)

P = Processor

S = SMS Financial entity

V = Visa Internal entity

domain

String

Domain for Visa:

W = (Worldwide)

R = (Regional)

N = (National)

D = (Domestic)

settlementMatch

String

Settlement match for Visa:

B = (B2B)

E = B2E

Space = (Not applicable)

productId

String

Product ID only for VISA.

This field contains the Product ID values: A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C -Visa Signature, D - Visa Signature Preferred, DI -Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 -Visa Business Enhanced, G4 -Visa Infinite Business, G5 -Visa Business Rewards, I -Visa Infinite, I1 - Visa Infinite Privilege, I2 -Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T & E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 -Private Label Standard, Q4 -Private Label Enhanced, Q5 -Private Label Specialized, Q6 -Private Label Premium, R -Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 -Visa Government Purchasing with Fleet, S4 -Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

responseCode

String

Response code

authorizeRRN

String

Retrieval Reference Number

authorizeStan

String

System Trace Audit Number (STAN)

transactionStatus

String

Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR

clearingAmount

Number

Clearing amount (in pennies)

clearingStatus

String

Clearing status: APPROVED, DECLINED, REJECTED, ERROR, TO_CLEARING, WAITING_FOR_SENDING_FILE_TO_MASTERCARD, CANNOT_CLEAR, CLEARING_TRANSACTION_NOT_FOUND, TIME_IS_OVER, PENDING, PROCESSING

clearingFileName

String

File name clearing file’s to be sent to MC/VISA. For example Mastercard: {date YYYY_MM_DD_HH_MM_SS_SSS}_{merchant_name}_{ICA}_{mcc}_clearing.IPM 2020_07_08_00_28_02_488_MerchantName_23183_4111_clearing.IPM Visa: {date YYYY_MM_DD_HH_MM_SS_SSS}_{merchant_name}_{acquirer BIN}_{mcc}_clearing.ctf 2020_07_08_00_28_02_488_MerchantName_439696_4111_clearing.ctf

clearingFileId

String

File id clearing file’s to be sent to MC/VISA

arn

String

Acquirer Reference Number - Identification number assigned when generating FIRST_PRESENTMENT or TC_05

autoClear

Boolean

Is auto clear enabled. Enabled if true, is not enabled if false. This flag allows to decide if the authorization should be cleared automatically according to the adopted clearing cycles on the Fenige side (option true). If it is set to false it means that the funds will only be blocked in the user account until the manual clearing method from chapter 5.12 Clearing is called.

authorizationType

String

Authorization type: ELECTRONIC_COMMERCE_PURCHASE, ELECTRONIC_COMMERCE_TOKEN_AUTHORIZATION, CREDENTIAL_ON_FILE_INITIAL, CREDENTIAL_ON_FILE_SUBSEQUENT, RECURRING_INITIAL, RECURRING_SUBSEQUENT, MANUAL_ENTRY_MOTO_PURCHASE, INSTALLMENT_PAYMENT_PURCHASE

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

200 OK (CoF Initial without clearing)
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 946

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
  "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
  "createdDate" : "2024-04-20 01:21:35",
  "amount" : 1000,
  "currency" : "USD",
  "provider" : "MASTERCARD",
  "cardType" : "DMC",
  "cardNumber" : "511796******1779",
  "defaultCurrency" : "PLN",
  "bankName" : "BANK MILLENNIUM S.A.",
  "countryCardIssuing" : "POL",
  "countryCodeNumeric" : "616",
  "region" : "EUROPE",
  "gcmsProductId" : "MDS",
  "eeaDomesticRateQualificationIndicator" : "Y",
  "responseCode" : "CODE_00",
  "authorizeRRN" : "014011103023",
  "authorizeStan" : "103023",
  "cofInitialUuid" : "ae1bbd3e-8ba9-49c2-9981-b9f9ab79dbf3",
  "transactionStatus" : "APPROVED",
  "clearingAmount" : 1000,
  "autoClear" : true,
  "authorizationType" : "CREDENTIAL_ON_FILE_INITIAL",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

merchantId

String

Merchant’s unique id in system

createdDate

String

Transaction creation date in format "yyyy-MM-dd HH:mm:ss"

amount

Number

Transaction amount (in pennies)

currency

String

Transaction currency

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard

DMC - Debit Mastercard

MSI - Maestro

CIR - Cirrus

PVL - Private Label

Card type for Visa:

C - Credit

D - Debit

P - Prepaid

H - Charge

R – Deferred Debit

Space – Not applicable

cardNumber

String

Masked card number

defaultCurrency

String

Default currency code for card

bankName

String

Bank name only for Mastercard

countryCardIssuing

String

Country card Issuing for Mastercard:

- ISO 3166-1 Alpha-3

countryCodeNumeric

String

Country code numeric for Mastercard::

- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES

- CANADA

- LATINA_AMERICA_AND_THE_CARIBBEAN

- ASIA_PACIFIC

- EUROPE

- SOUTH_ASIA_MIDDLE_EAST_AFRICA

- ANY

gcmsProductId

String

Gcms product id only for Mastercard:

This is the Product ID recognized by GCMS for the issuer account range and card program identifier combination. It may be different from the Licensed Product ID associated with the issuer account range and card program identifier combination.

eeaDomesticRateQualificationIndicator

String

EEA Domestic Rate Qualification Indicator only for Mastercard:

Y = EEA Domestic Rate qualified

N = Not EEA Domestic Rate qualified

responseCode

String

TResponse code

authorizeRRN

String

Retrieval Reference Number

authorizeStan

String

System Trace Audit Number (STAN)

cofInitialUuid

String

Cof Initial unique uuid in system

transactionStatus

String

Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR

clearingAmount

Number

Clearing amount (in pennies)

autoClear

Boolean

Is auto clear enabled. Enabled if true, is not enabled if false. This flag allows to decide if the authorization should be cleared automatically according to the adopted clearing cycles on the Fenige side (option true). If it is set to false it means that the funds will only be blocked in the user account until the manual clearing method from chapter 5.12 Clearing is called.

authorizationType

String

Authorization type: ELECTRONIC_COMMERCE_PURCHASE, ELECTRONIC_COMMERCE_TOKEN_AUTHORIZATION, CREDENTIAL_ON_FILE_INITIAL, CREDENTIAL_ON_FILE_SUBSEQUENT, RECURRING_INITIAL, RECURRING_SUBSEQUENT, MANUAL_ENTRY_MOTO_PURCHASE, INSTALLMENT_PAYMENT_PURCHASE

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

200 OK (CoF Initial with clearing)
HTTP Status - Full Clearing
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1152

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
  "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
  "createdDate" : "2024-04-20 01:21:35",
  "amount" : 1000,
  "currency" : "USD",
  "provider" : "MASTERCARD",
  "cardType" : "DMC",
  "cardNumber" : "511796******1779",
  "defaultCurrency" : "PLN",
  "bankName" : "BANK MILLENNIUM S.A.",
  "countryCardIssuing" : "POL",
  "countryCodeNumeric" : "616",
  "region" : "EUROPE",
  "gcmsProductId" : "MDS",
  "eeaDomesticRateQualificationIndicator" : "Y",
  "responseCode" : "CODE_00",
  "authorizeRRN" : "014011103023",
  "authorizeStan" : "103023",
  "cofInitialUuid" : "ae1bbd3e-8ba9-49c2-9981-b9f9ab79dbf3",
  "transactionStatus" : "CLEARED",
  "clearingAmount" : 1000,
  "clearingStatus" : "APPROVED",
  "clearingFileName" : "2020_07_08_00_28_02_488_MerchantName_23183_4111_clearing.IPM",
  "clearingFileId" : "0022005190000001621250287",
  "arn" : "05411640143500000019325",
  "autoClear" : true,
  "authorizationType" : "CREDENTIAL_ON_FILE_INITIAL",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}
HTTP Status - Partial Clearing
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1152

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
  "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
  "createdDate" : "2024-04-20 01:21:35",
  "amount" : 1000,
  "currency" : "USD",
  "provider" : "MASTERCARD",
  "cardType" : "DMC",
  "cardNumber" : "511796******1779",
  "defaultCurrency" : "PLN",
  "bankName" : "BANK MILLENNIUM S.A.",
  "countryCardIssuing" : "POL",
  "countryCodeNumeric" : "616",
  "region" : "EUROPE",
  "gcmsProductId" : "MDS",
  "eeaDomesticRateQualificationIndicator" : "Y",
  "responseCode" : "CODE_00",
  "authorizeRRN" : "014011103023",
  "authorizeStan" : "103023",
  "cofInitialUuid" : "ae1bbd3e-8ba9-49c2-9981-b9f9ab79dbf3",
  "transactionStatus" : "CLEARED",
  "clearingAmount" : 1000,
  "clearingStatus" : "APPROVED",
  "clearingFileName" : "2020_07_08_00_28_02_488_MerchantName_23183_4111_clearing.IPM",
  "clearingFileId" : "0022005190000001621250287",
  "arn" : "05411640143500000019325",
  "autoClear" : true,
  "authorizationType" : "CREDENTIAL_ON_FILE_INITIAL",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

merchantId

String

Merchant’s unique id in system

createdDate

String

Transaction creation date in format "yyyy-MM-dd HH:mm:ss"

amount

Number

Transaction amount (in pennies)

currency

String

Transaction currency

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard

DMC - Debit Mastercard

MSI - Maestro

CIR - Cirrus

PVL - Private Label

Card type for Visa:

C - Credit

D - Debit

P - Prepaid

H - Charge

R – Deferred Debit

Space – Not applicable

cardNumber

String

Masked card number

defaultCurrency

String

Default currency code for card

bankName

String

Bank name only for Mastercard

countryCardIssuing

String

Country card Issuing for Mastercard:

- ISO 3166-1 Alpha-3

countryCodeNumeric

String

Country code numeric for Mastercard::

- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES

- CANADA

- LATINA_AMERICA_AND_THE_CARIBBEAN

- ASIA_PACIFIC

- EUROPE

- SOUTH_ASIA_MIDDLE_EAST_AFRICA

- ANY

gcmsProductId

String

Gcms product id only for Mastercard:

This is the Product ID recognized by GCMS for the issuer account range and card program identifier combination. It may be different from the Licensed Product ID associated with the issuer account range and card program identifier combination.

eeaDomesticRateQualificationIndicator

String

EEA Domestic Rate Qualification Indicator only for Mastercard:

Y = EEA Domestic Rate qualified

N = Not EEA Domestic Rate qualified

responseCode

String

Response code

authorizeRRN

String

Retrieval Reference Number

authorizeStan

String

System Trace Audit Number (STAN)

cofInitialUuid

String

Cof Initial unique uuid in system

transactionStatus

String

Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR

clearingAmount

Number

Clearing amount (in pennies)

clearingStatus

String

Clearing status: APPROVED, DECLINED, REJECTED, ERROR, TO_CLEARING, WAITING_FOR_SENDING_FILE_TO_MASTERCARD, CANNOT_CLEAR, CLEARING_TRANSACTION_NOT_FOUND, TIME_IS_OVER, PENDING, PROCESSING

clearingFileName

String

File name clearing file’s to be sent to MC/VISA. For example Mastercard: {date YYYY_MM_DD_HH_MM_SS_SSS}_{merchant_name}_{ICA}_{mcc}_clearing.IPM 2020_07_08_00_28_02_488_MerchantName_23183_4111_clearing.IPM Visa: {date YYYY_MM_DD_HH_MM_SS_SSS}_{merchant_name}_{acquirer BIN}_{mcc}_clearing.ctf 2020_07_08_00_28_02_488_MerchantName_439696_4111_clearing.ctf

clearingFileId

String

File id clearing file’s to be sent to MC/VISA

arn

String

Acquirer Reference Number - Identification number assigned when generating FIRST_PRESENTMENT or TC_05

autoClear

Boolean

Is auto clear enabled. Enabled if true, is not enabled if false. This flag allows to decide if the authorization should be cleared automatically according to the adopted clearing cycles on the Fenige side (option true). If it is set to false it means that the funds will only be blocked in the user account until the manual clearing method from chapter 5.12 Clearing is called.

authorizationType

String

Authorization type: ELECTRONIC_COMMERCE_PURCHASE, ELECTRONIC_COMMERCE_TOKEN_AUTHORIZATION, CREDENTIAL_ON_FILE_INITIAL, CREDENTIAL_ON_FILE_SUBSEQUENT, RECURRING_INITIAL, RECURRING_SUBSEQUENT, MANUAL_ENTRY_MOTO_PURCHASE, INSTALLMENT_PAYMENT_PURCHASE

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

200 OK (CoF Subsequent without clearing)
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 949

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
  "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
  "createdDate" : "2024-04-20 01:21:35",
  "amount" : 1000,
  "currency" : "USD",
  "provider" : "MASTERCARD",
  "cardType" : "DMC",
  "cardNumber" : "511796******1779",
  "defaultCurrency" : "PLN",
  "bankName" : "BANK MILLENNIUM S.A.",
  "countryCardIssuing" : "POL",
  "countryCodeNumeric" : "616",
  "region" : "EUROPE",
  "gcmsProductId" : "MDS",
  "eeaDomesticRateQualificationIndicator" : "Y",
  "responseCode" : "CODE_00",
  "authorizeRRN" : "014011103023",
  "authorizeStan" : "103023",
  "cofInitialUuid" : "ae1bbd3e-8ba9-49c2-9981-b9f9ab79dbf3",
  "transactionStatus" : "APPROVED",
  "clearingAmount" : 1000,
  "autoClear" : true,
  "authorizationType" : "CREDENTIAL_ON_FILE_SUBSEQUENT",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

merchantId

String

Merchant’s unique id in system

createdDate

String

Transaction creation date in format "yyyy-MM-dd HH:mm:ss"

amount

Number

Transaction amount (in pennies)

currency

String

Transaction currency

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard

DMC - Debit Mastercard

MSI - Maestro

CIR - Cirrus

PVL - Private Label

Card type for Visa:

C - Credit

D - Debit

P - Prepaid

H - Charge

R – Deferred Debit

Space – Not applicable

cardNumber

String

Masked card number

defaultCurrency

String

Default currency code for card

bankName

String

Bank name only for Mastercard

countryCardIssuing

String

Country card Issuing for Mastercard:

- ISO 3166-1 Alpha-3

countryCodeNumeric

String

Country code numeric for Mastercard::

- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES

- CANADA

- LATINA_AMERICA_AND_THE_CARIBBEAN

- ASIA_PACIFIC

- EUROPE

- SOUTH_ASIA_MIDDLE_EAST_AFRICA

- ANY

gcmsProductId

String

Gcms product id only for Mastercard:

This is the Product ID recognized by GCMS for the issuer account range and card program identifier combination. It may be different from the Licensed Product ID associated with the issuer account range and card program identifier combination.

eeaDomesticRateQualificationIndicator

String

EEA Domestic Rate Qualification Indicator only for Mastercard:

Y = EEA Domestic Rate qualified

N = Not EEA Domestic Rate qualified

responseCode

String

TResponse code

authorizeRRN

String

Retrieval Reference Number

authorizeStan

String

System Trace Audit Number (STAN)

cofInitialUuid

String

Cof Initial unique uuid in system

transactionStatus

String

Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR

clearingAmount

Number

Clearing amount (in pennies)

autoClear

Boolean

Is auto clear enabled. Enabled if true, is not enabled if false. This flag allows to decide if the authorization should be cleared automatically according to the adopted clearing cycles on the Fenige side (option true). If it is set to false it means that the funds will only be blocked in the user account until the manual clearing method from chapter 5.12 Clearing is called.

authorizationType

String

Authorization type: ELECTRONIC_COMMERCE_PURCHASE, ELECTRONIC_COMMERCE_TOKEN_AUTHORIZATION, CREDENTIAL_ON_FILE_INITIAL, CREDENTIAL_ON_FILE_SUBSEQUENT, RECURRING_INITIAL, RECURRING_SUBSEQUENT, MANUAL_ENTRY_MOTO_PURCHASE, INSTALLMENT_PAYMENT_PURCHASE

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

200 OK (CoF Subsequent with clearing)
HTTP Status - Full Clearing
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1155

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
  "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
  "createdDate" : "2024-04-20 01:21:35",
  "amount" : 1000,
  "currency" : "USD",
  "provider" : "MASTERCARD",
  "cardType" : "DMC",
  "cardNumber" : "511796******1779",
  "defaultCurrency" : "PLN",
  "bankName" : "BANK MILLENNIUM S.A.",
  "countryCardIssuing" : "POL",
  "countryCodeNumeric" : "616",
  "region" : "EUROPE",
  "gcmsProductId" : "MDS",
  "eeaDomesticRateQualificationIndicator" : "Y",
  "responseCode" : "CODE_00",
  "authorizeRRN" : "014011103023",
  "authorizeStan" : "103023",
  "cofInitialUuid" : "ae1bbd3e-8ba9-49c2-9981-b9f9ab79dbf3",
  "transactionStatus" : "CLEARED",
  "clearingAmount" : 1000,
  "clearingStatus" : "APPROVED",
  "clearingFileName" : "2020_07_08_00_28_02_488_MerchantName_23183_4111_clearing.IPM",
  "clearingFileId" : "0022005190000001621250287",
  "arn" : "05411640143500000019325",
  "autoClear" : true,
  "authorizationType" : "CREDENTIAL_ON_FILE_SUBSEQUENT",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}
HTTP Status - Partial Clearing
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1155

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
  "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
  "createdDate" : "2024-04-20 01:21:35",
  "amount" : 1000,
  "currency" : "USD",
  "provider" : "MASTERCARD",
  "cardType" : "DMC",
  "cardNumber" : "511796******1779",
  "defaultCurrency" : "PLN",
  "bankName" : "BANK MILLENNIUM S.A.",
  "countryCardIssuing" : "POL",
  "countryCodeNumeric" : "616",
  "region" : "EUROPE",
  "gcmsProductId" : "MDS",
  "eeaDomesticRateQualificationIndicator" : "Y",
  "responseCode" : "CODE_00",
  "authorizeRRN" : "014011103023",
  "authorizeStan" : "103023",
  "cofInitialUuid" : "ae1bbd3e-8ba9-49c2-9981-b9f9ab79dbf3",
  "transactionStatus" : "CLEARED",
  "clearingAmount" : 1000,
  "clearingStatus" : "APPROVED",
  "clearingFileName" : "2020_07_08_00_28_02_488_MerchantName_23183_4111_clearing.IPM",
  "clearingFileId" : "0022005190000001621250287",
  "arn" : "05411640143500000019325",
  "autoClear" : true,
  "authorizationType" : "CREDENTIAL_ON_FILE_SUBSEQUENT",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

merchantId

String

Merchant’s unique id in system

createdDate

String

Transaction creation date in format "yyyy-MM-dd HH:mm:ss"

amount

Number

Transaction amount (in pennies)

currency

String

Transaction currency

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard

DMC - Debit Mastercard

MSI - Maestro

CIR - Cirrus

PVL - Private Label

Card type for Visa:

C - Credit

D - Debit

P - Prepaid

H - Charge

R – Deferred Debit

Space – Not applicable

cardNumber

String

Masked card number

defaultCurrency

String

Default currency code for card

bankName

String

Bank name only for Mastercard

countryCardIssuing

String

Country card Issuing for Mastercard:

- ISO 3166-1 Alpha-3

countryCodeNumeric

String

Country code numeric for Mastercard::

- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES

- CANADA

- LATINA_AMERICA_AND_THE_CARIBBEAN

- ASIA_PACIFIC

- EUROPE

- SOUTH_ASIA_MIDDLE_EAST_AFRICA

- ANY

gcmsProductId

String

Gcms product id only for Mastercard:

This is the Product ID recognized by GCMS for the issuer account range and card program identifier combination. It may be different from the Licensed Product ID associated with the issuer account range and card program identifier combination.

eeaDomesticRateQualificationIndicator

String

EEA Domestic Rate Qualification Indicator only for Mastercard:

Y = EEA Domestic Rate qualified

N = Not EEA Domestic Rate qualified

responseCode

String

Response code

authorizeRRN

String

Retrieval Reference Number

authorizeStan

String

System Trace Audit Number (STAN)

cofInitialUuid

String

Cof Initial unique uuid in system

transactionStatus

String

Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR

clearingAmount

Number

Clearing amount (in pennies)

clearingStatus

String

Clearing status: APPROVED, DECLINED, REJECTED, ERROR, TO_CLEARING, WAITING_FOR_SENDING_FILE_TO_MASTERCARD, CANNOT_CLEAR, CLEARING_TRANSACTION_NOT_FOUND, TIME_IS_OVER, PENDING, PROCESSING

clearingFileName

String

File name clearing file’s to be sent to MC/VISA. For example Mastercard: {date YYYY_MM_DD_HH_MM_SS_SSS}_{merchant_name}_{ICA}_{mcc}_clearing.IPM 2020_07_08_00_28_02_488_MerchantName_23183_4111_clearing.IPM Visa: {date YYYY_MM_DD_HH_MM_SS_SSS}_{merchant_name}_{acquirer BIN}_{mcc}_clearing.ctf 2020_07_08_00_28_02_488_MerchantName_439696_4111_clearing.ctf

clearingFileId

String

File id clearing file’s to be sent to MC/VISA

arn

String

Acquirer Reference Number - Identification number assigned when generating FIRST_PRESENTMENT or TC_05

autoClear

Boolean

Is auto clear enabled. Enabled if true, is not enabled if false. This flag allows to decide if the authorization should be cleared automatically according to the adopted clearing cycles on the Fenige side (option true). If it is set to false it means that the funds will only be blocked in the user account until the manual clearing method from chapter 5.12 Clearing is called.

authorizationType

String

Authorization type: ELECTRONIC_COMMERCE_PURCHASE, ELECTRONIC_COMMERCE_TOKEN_AUTHORIZATION, CREDENTIAL_ON_FILE_INITIAL, CREDENTIAL_ON_FILE_SUBSEQUENT, RECURRING_INITIAL, RECURRING_SUBSEQUENT, MANUAL_ENTRY_MOTO_PURCHASE, INSTALLMENT_PAYMENT_PURCHASE

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

200 OK (Recurring Initial without clearing)
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 899

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
  "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
  "createdDate" : "2024-04-20 01:21:35",
  "amount" : 1000,
  "currency" : "USD",
  "provider" : "VISA",
  "cardType" : "C",
  "cardNumber" : "487474*****1296",
  "defaultCurrency" : "PLN",
  "countryCardIssuing" : "POL",
  "countryCodeNumeric" : "616",
  "region" : "3",
  "productId" : "P",
  "binType" : "I",
  "domain" : "W",
  "settlementMatch" : " ",
  "responseCode" : "CODE_00",
  "authorizeRRN" : "014011103023",
  "authorizeStan" : "103023",
  "recurringInitialUuid" : "502b9960-13e0-4954-87ce-23e05c894a70",
  "transactionStatus" : "APPROVED",
  "clearingAmount" : 1000,
  "autoClear" : true,
  "authorizationType" : "RECURRING_INITIAL",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

merchantId

String

Merchant’s unique id in system

createdDate

String

Transaction creation date in format "yyyy-MM-dd HH:mm:ss"

amount

Number

Transaction amount (in pennies)

currency

String

Transaction currency

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard

DMC - Debit Mastercard

MSI - Maestro

CIR - Cirrus

PVL - Private Label

Card type for Visa:

C - Credit

D - Debit

P - Prepaid

H - Charge

R – Deferred Debit

Space – Not applicable

cardNumber

String

Masked card number

defaultCurrency

String

Default currency code for card

countryCardIssuing

String

Country card Issuing for Visa:

- ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Visa::

- ISO 3166-1 Numeric

region

String

Region for Visa:

1 = US

2 = Canada

3 = Visa Europe

4 = Asia-Pacific

5 = Latin America and Carribean

6 = CEMEA

binType

String

Bin type for Visa:

F = Full Service

I = Issuer Only

M = Merchant Only

N = Nonfinancial

O = On Behalf Of (OBO)

P = Processor

S = SMS Financial entity

V = Visa Internal entity

domain

String

Domain for Visa:

W = (Worldwide)

R = (Regional)

N = (National)

D = (Domestic)

settlementMatch

String

Settlement match for Visa:

B = (B2B)

E = B2E

Space = (Not applicable)

productId

String

Product ID only for VISA.

This field contains the Product ID values: A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C -Visa Signature, D - Visa Signature Preferred, DI -Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 -Visa Business Enhanced, G4 -Visa Infinite Business, G5 -Visa Business Rewards, I -Visa Infinite, I1 - Visa Infinite Privilege, I2 -Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T & E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 -Private Label Standard, Q4 -Private Label Enhanced, Q5 -Private Label Specialized, Q6 -Private Label Premium, R -Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 -Visa Government Purchasing with Fleet, S4 -Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

responseCode

String

TResponse code

authorizeRRN

String

Retrieval Reference Number

authorizeStan

String

System Trace Audit Number (STAN)

recurringInitialUuid

String

Recurring Initial unique uuid in system

transactionStatus

String

Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR

clearingAmount

Number

Clearing amount (in pennies)

autoClear

Boolean

Is auto clear enabled. Enabled if true, is not enabled if false. This flag allows to decide if the authorization should be cleared automatically according to the adopted clearing cycles on the Fenige side (option true). If it is set to false it means that the funds will only be blocked in the user account until the manual clearing method from chapter 5.12 Clearing is called.

authorizationType

String

Authorization type: ELECTRONIC_COMMERCE_PURCHASE, ELECTRONIC_COMMERCE_TOKEN_AUTHORIZATION, CREDENTIAL_ON_FILE_INITIAL, CREDENTIAL_ON_FILE_SUBSEQUENT, RECURRING_INITIAL, RECURRING_SUBSEQUENT, MANUAL_ENTRY_MOTO_PURCHASE, INSTALLMENT_PAYMENT_PURCHASE

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

200 OK (Recurring Initial with clearing)
HTTP Status - Full Clearing
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1105

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
  "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
  "createdDate" : "2024-04-20 01:21:35",
  "amount" : 1000,
  "currency" : "USD",
  "provider" : "VISA",
  "cardType" : "C",
  "cardNumber" : "487474*****1296",
  "defaultCurrency" : "PLN",
  "countryCardIssuing" : "POL",
  "countryCodeNumeric" : "616",
  "region" : "3",
  "productId" : "P",
  "binType" : "I",
  "domain" : "W",
  "settlementMatch" : " ",
  "responseCode" : "CODE_00",
  "authorizeRRN" : "014011103023",
  "authorizeStan" : "103023",
  "recurringInitialUuid" : "502b9960-13e0-4954-87ce-23e05c894a70",
  "transactionStatus" : "CLEARED",
  "clearingAmount" : 1000,
  "clearingStatus" : "APPROVED",
  "clearingFileName" : "2020_07_08_00_28_02_488_MerchantName_23183_4111_clearing.IPM",
  "clearingFileId" : "0022005190000001621250287",
  "arn" : "05411640143500000019325",
  "autoClear" : true,
  "authorizationType" : "RECURRING_INITIAL",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}
HTTP Status - Partial Clearing
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1104

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
  "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
  "createdDate" : "2024-04-20 01:21:35",
  "amount" : 1000,
  "currency" : "USD",
  "provider" : "VISA",
  "cardType" : "C",
  "cardNumber" : "487474*****1296",
  "defaultCurrency" : "PLN",
  "countryCardIssuing" : "POL",
  "countryCodeNumeric" : "616",
  "region" : "3",
  "productId" : "P",
  "binType" : "I",
  "domain" : "W",
  "settlementMatch" : " ",
  "responseCode" : "CODE_00",
  "authorizeRRN" : "014011103023",
  "authorizeStan" : "103023",
  "recurringInitialUuid" : "502b9960-13e0-4954-87ce-23e05c894a70",
  "transactionStatus" : "CLEARED",
  "clearingAmount" : 500,
  "clearingStatus" : "APPROVED",
  "clearingFileName" : "2020_07_08_00_28_02_488_MerchantName_23183_4111_clearing.IPM",
  "clearingFileId" : "0022005190000001621250287",
  "arn" : "05411640143500000019325",
  "autoClear" : true,
  "authorizationType" : "RECURRING_INITIAL",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

merchantId

String

Merchant’s unique id in system

createdDate

String

Transaction creation date in format "yyyy-MM-dd HH:mm:ss"

amount

Number

Transaction amount (in pennies)

currency

String

Transaction currency

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard

DMC - Debit Mastercard

MSI - Maestro

CIR - Cirrus

PVL - Private Label

Card type for Visa:

C - Credit

D - Debit

P - Prepaid

H - Charge

R – Deferred Debit

Space – Not applicable

countryCardIssuing

String

Country card Issuing for Visa:

- ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Visa::

- ISO 3166-1 Numeric

region

String

Region for Visa:

1 = US

2 = Canada

3 = Visa Europe

4 = Asia-Pacific

5 = Latin America and Carribean

6 = CEMEA

binType

String

Bin type for Visa:

F = Full Service

I = Issuer Only

M = Merchant Only

N = Nonfinancial

O = On Behalf Of (OBO)

P = Processor

S = SMS Financial entity

V = Visa Internal entity

domain

String

Domain for Visa:

W = (Worldwide)

R = (Regional)

N = (National)

D = (Domestic)

settlementMatch

String

Settlement match for Visa:

B = (B2B)

E = B2E

Space = (Not applicable)

productId

String

Product ID only for VISA.

This field contains the Product ID values: A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C -Visa Signature, D - Visa Signature Preferred, DI -Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 -Visa Business Enhanced, G4 -Visa Infinite Business, G5 -Visa Business Rewards, I -Visa Infinite, I1 - Visa Infinite Privilege, I2 -Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T & E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 -Private Label Standard, Q4 -Private Label Enhanced, Q5 -Private Label Specialized, Q6 -Private Label Premium, R -Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 -Visa Government Purchasing with Fleet, S4 -Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

cardNumber

String

Masked card number

defaultCurrency

String

Default currency code for card

responseCode

String

Response code

authorizeRRN

String

Retrieval Reference Number

authorizeStan

String

System Trace Audit Number (STAN)

recurringInitialUuid

String

Recurring Initial unique uuid in system

transactionStatus

String

Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR

clearingAmount

Number

Clearing amount (in pennies)

clearingStatus

String

Clearing status: APPROVED, DECLINED, REJECTED, ERROR, TO_CLEARING, WAITING_FOR_SENDING_FILE_TO_MASTERCARD, CANNOT_CLEAR, CLEARING_TRANSACTION_NOT_FOUND, TIME_IS_OVER, PENDING, PROCESSING

clearingFileName

String

File name clearing file’s to be sent to MC/VISA. For example Mastercard: {date YYYY_MM_DD_HH_MM_SS_SSS}_{merchant_name}_{ICA}_{mcc}_clearing.IPM 2020_07_08_00_28_02_488_MerchantName_23183_4111_clearing.IPM Visa: {date YYYY_MM_DD_HH_MM_SS_SSS}_{merchant_name}_{acquirer BIN}_{mcc}_clearing.ctf 2020_07_08_00_28_02_488_MerchantName_439696_4111_clearing.ctf

clearingFileId

String

File id clearing file’s to be sent to MC/VISA

arn

String

Acquirer Reference Number - Identification number assigned when generating FIRST_PRESENTMENT or TC_05

autoClear

Boolean

Is auto clear enabled. Enabled if true, is not enabled if false. This flag allows to decide if the authorization should be cleared automatically according to the adopted clearing cycles on the Fenige side (option true). If it is set to false it means that the funds will only be blocked in the user account until the manual clearing method from chapter 5.12 Clearing is called.

authorizationType

String

Authorization type: ELECTRONIC_COMMERCE_PURCHASE, ELECTRONIC_COMMERCE_TOKEN_AUTHORIZATION, CREDENTIAL_ON_FILE_INITIAL, CREDENTIAL_ON_FILE_SUBSEQUENT, RECURRING_INITIAL, RECURRING_SUBSEQUENT, MANUAL_ENTRY_MOTO_PURCHASE, INSTALLMENT_PAYMENT_PURCHASE

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

200 OK (Recurring Subsequent without clearing)
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 902

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
  "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
  "createdDate" : "2024-04-20 01:21:35",
  "amount" : 1000,
  "currency" : "USD",
  "provider" : "VISA",
  "cardType" : "C",
  "cardNumber" : "487474*****1296",
  "defaultCurrency" : "PLN",
  "countryCardIssuing" : "POL",
  "countryCodeNumeric" : "616",
  "region" : "3",
  "productId" : "P",
  "binType" : "I",
  "domain" : "W",
  "settlementMatch" : " ",
  "responseCode" : "CODE_00",
  "authorizeRRN" : "014011103023",
  "authorizeStan" : "103023",
  "recurringInitialUuid" : "502b9960-13e0-4954-87ce-23e05c894a70",
  "transactionStatus" : "APPROVED",
  "clearingAmount" : 1000,
  "autoClear" : true,
  "authorizationType" : "RECURRING_SUBSEQUENT",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

merchantId

String

Merchant’s unique id in system

createdDate

String

Transaction creation date in format "yyyy-MM-dd HH:mm:ss"

amount

Number

Transaction amount (in pennies)

currency

String

Transaction currency

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard

DMC - Debit Mastercard

MSI - Maestro

CIR - Cirrus

PVL - Private Label

Card type for Visa:

C - Credit

D - Debit

P - Prepaid

H - Charge

R – Deferred Debit

Space – Not applicable

cardNumber

String

Masked card number

defaultCurrency

String

Default currency code for card

countryCardIssuing

String

Country card Issuing for Visa:

- ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Visa::

- ISO 3166-1 Numeric

region

String

Region for Visa:

1 = US

2 = Canada

3 = Visa Europe

4 = Asia-Pacific

5 = Latin America and Carribean

6 = CEMEA

binType

String

Bin type for Visa:

F = Full Service

I = Issuer Only

M = Merchant Only

N = Nonfinancial

O = On Behalf Of (OBO)

P = Processor

S = SMS Financial entity

V = Visa Internal entity

domain

String

Domain for Visa:

W = (Worldwide)

R = (Regional)

N = (National)

D = (Domestic)

settlementMatch

String

Settlement match for Visa:

B = (B2B)

E = B2E

Space = (Not applicable)

productId

String

Product ID only for VISA.

This field contains the Product ID values: A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C -Visa Signature, D - Visa Signature Preferred, DI -Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 -Visa Business Enhanced, G4 -Visa Infinite Business, G5 -Visa Business Rewards, I -Visa Infinite, I1 - Visa Infinite Privilege, I2 -Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T & E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 -Private Label Standard, Q4 -Private Label Enhanced, Q5 -Private Label Specialized, Q6 -Private Label Premium, R -Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 -Visa Government Purchasing with Fleet, S4 -Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

responseCode

String

TResponse code

authorizeRRN

String

Retrieval Reference Number

authorizeStan

String

System Trace Audit Number (STAN)

recurringInitialUuid

String

Recurring Initial unique uuid in system

transactionStatus

String

Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR

clearingAmount

Number

Clearing amount (in pennies)

autoClear

Boolean

Is auto clear enabled. Enabled if true, is not enabled if false. This flag allows to decide if the authorization should be cleared automatically according to the adopted clearing cycles on the Fenige side (option true). If it is set to false it means that the funds will only be blocked in the user account until the manual clearing method from chapter 5.12 Clearing is called.

authorizationType

String

Authorization type: ELECTRONIC_COMMERCE_PURCHASE, ELECTRONIC_COMMERCE_TOKEN_AUTHORIZATION, CREDENTIAL_ON_FILE_INITIAL, CREDENTIAL_ON_FILE_SUBSEQUENT, RECURRING_INITIAL, RECURRING_SUBSEQUENT, MANUAL_ENTRY_MOTO_PURCHASE, INSTALLMENT_PAYMENT_PURCHASE

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

200 OK (Recurring Subsequent with clearing)
HTTP Status - Full Clearing
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1108

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
  "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
  "createdDate" : "2024-04-20 01:21:35",
  "amount" : 1000,
  "currency" : "USD",
  "provider" : "VISA",
  "cardType" : "C",
  "cardNumber" : "487474*****1296",
  "defaultCurrency" : "PLN",
  "countryCardIssuing" : "POL",
  "countryCodeNumeric" : "616",
  "region" : "3",
  "productId" : "P",
  "binType" : "I",
  "domain" : "W",
  "settlementMatch" : " ",
  "responseCode" : "CODE_00",
  "authorizeRRN" : "014011103023",
  "authorizeStan" : "103023",
  "recurringInitialUuid" : "502b9960-13e0-4954-87ce-23e05c894a70",
  "transactionStatus" : "CLEARED",
  "clearingAmount" : 1000,
  "clearingStatus" : "APPROVED",
  "clearingFileName" : "2020_07_08_00_28_02_488_MerchantName_23183_4111_clearing.IPM",
  "clearingFileId" : "0022005190000001621250287",
  "arn" : "05411640143500000019325",
  "autoClear" : true,
  "authorizationType" : "RECURRING_SUBSEQUENT",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}
HTTP Status - Partial Clearing
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1107

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
  "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
  "createdDate" : "2024-04-20 01:21:35",
  "amount" : 1000,
  "currency" : "USD",
  "provider" : "VISA",
  "cardType" : "C",
  "cardNumber" : "487474*****1296",
  "defaultCurrency" : "PLN",
  "countryCardIssuing" : "POL",
  "countryCodeNumeric" : "616",
  "region" : "3",
  "productId" : "P",
  "binType" : "I",
  "domain" : "W",
  "settlementMatch" : " ",
  "responseCode" : "CODE_00",
  "authorizeRRN" : "014011103023",
  "authorizeStan" : "103023",
  "recurringInitialUuid" : "502b9960-13e0-4954-87ce-23e05c894a70",
  "transactionStatus" : "CLEARED",
  "clearingAmount" : 500,
  "clearingStatus" : "APPROVED",
  "clearingFileName" : "2020_07_08_00_28_02_488_MerchantName_23183_4111_clearing.IPM",
  "clearingFileId" : "0022005190000001621250287",
  "arn" : "05411640143500000019325",
  "autoClear" : true,
  "authorizationType" : "RECURRING_SUBSEQUENT",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

merchantId

String

Merchant’s unique id in system

createdDate

String

Transaction creation date in format "yyyy-MM-dd HH:mm:ss"

amount

Number

Transaction amount (in pennies)

currency

String

Transaction currency

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard

DMC - Debit Mastercard

MSI - Maestro

CIR - Cirrus

PVL - Private Label

Card type for Visa:

C - Credit

D - Debit

P - Prepaid

H - Charge

R – Deferred Debit

Space – Not applicable

countryCardIssuing

String

Country card Issuing for Visa:

- ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Visa::

- ISO 3166-1 Numeric

region

String

Region for Visa:

1 = US

2 = Canada

3 = Visa Europe

4 = Asia-Pacific

5 = Latin America and Carribean

6 = CEMEA

binType

String

Bin type for Visa:

F = Full Service

I = Issuer Only

M = Merchant Only

N = Nonfinancial

O = On Behalf Of (OBO)

P = Processor

S = SMS Financial entity

V = Visa Internal entity

domain

String

Domain for Visa:

W = (Worldwide)

R = (Regional)

N = (National)

D = (Domestic)

settlementMatch

String

Settlement match for Visa:

B = (B2B)

E = B2E

Space = (Not applicable)

productId

String

Product ID only for VISA.

This field contains the Product ID values: A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C -Visa Signature, D - Visa Signature Preferred, DI -Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 -Visa Business Enhanced, G4 -Visa Infinite Business, G5 -Visa Business Rewards, I -Visa Infinite, I1 - Visa Infinite Privilege, I2 -Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T & E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 -Private Label Standard, Q4 -Private Label Enhanced, Q5 -Private Label Specialized, Q6 -Private Label Premium, R -Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 -Visa Government Purchasing with Fleet, S4 -Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

cardNumber

String

Masked card number

defaultCurrency

String

Default currency code for card

responseCode

String

Response code

authorizeRRN

String

Retrieval Reference Number

authorizeStan

String

System Trace Audit Number (STAN)

recurringInitialUuid

String

Recurring Initial unique uuid in system

transactionStatus

String

Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR

clearingAmount

Number

Clearing amount (in pennies)

clearingStatus

String

Clearing status: APPROVED, DECLINED, REJECTED, ERROR, TO_CLEARING, WAITING_FOR_SENDING_FILE_TO_MASTERCARD, CANNOT_CLEAR, CLEARING_TRANSACTION_NOT_FOUND, TIME_IS_OVER, PENDING, PROCESSING

clearingFileName

String

File name clearing file’s to be sent to MC/VISA. For example Mastercard: {date YYYY_MM_DD_HH_MM_SS_SSS}_{merchant_name}_{ICA}_{mcc}_clearing.IPM 2020_07_08_00_28_02_488_MerchantName_23183_4111_clearing.IPM Visa: {date YYYY_MM_DD_HH_MM_SS_SSS}_{merchant_name}_{acquirer BIN}_{mcc}_clearing.ctf 2020_07_08_00_28_02_488_MerchantName_439696_4111_clearing.ctf

clearingFileId

String

File id clearing file’s to be sent to MC/VISA

arn

String

Acquirer Reference Number - Identification number assigned when generating FIRST_PRESENTMENT or TC_05

autoClear

Boolean

Is auto clear enabled. Enabled if true, is not enabled if false. This flag allows to decide if the authorization should be cleared automatically according to the adopted clearing cycles on the Fenige side (option true). If it is set to false it means that the funds will only be blocked in the user account until the manual clearing method from chapter 5.12 Clearing is called.

authorizationType

String

Authorization type: ELECTRONIC_COMMERCE_PURCHASE, ELECTRONIC_COMMERCE_TOKEN_AUTHORIZATION, CREDENTIAL_ON_FILE_INITIAL, CREDENTIAL_ON_FILE_SUBSEQUENT, RECURRING_INITIAL, RECURRING_SUBSEQUENT, MANUAL_ENTRY_MOTO_PURCHASE, INSTALLMENT_PAYMENT_PURCHASE

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

200 OK (Reversal)
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1063

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
  "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
  "createdDate" : "2024-04-20 01:21:35",
  "amount" : 1000,
  "currency" : "USD",
  "provider" : "MASTERCARD",
  "cardType" : "DMC",
  "cardNumber" : "511796******1779",
  "defaultCurrency" : "PLN",
  "bankName" : "BANK MILLENNIUM S.A.",
  "countryCardIssuing" : "POL",
  "countryCodeNumeric" : "616",
  "region" : "EUROPE",
  "gcmsProductId" : "MDS",
  "eeaDomesticRateQualificationIndicator" : "Y",
  "responseCode" : "CODE_00",
  "authorizeRRN" : "014011103023",
  "authorizeStan" : "103023",
  "transactionStatus" : "REVERSED",
  "clearingAmount" : 1000,
  "autoClear" : true,
  "reversalStatus" : "APPROVED",
  "reversalResponseCode" : "CODE_00",
  "reversalDate" : "2024-04-20 01:21:45",
  "reversalRRN" : "014011103024",
  "reversalStan" : "103024",
  "authorizationType" : "ELECTRONIC_COMMERCE_PURCHASE",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

merchantId

String

Merchant’s unique id in system

createdDate

String

Transaction creation date in format "yyyy-MM-dd HH:mm:ss"

amount

Number

Transaction amount (in pennies)

currency

String

Transaction currency

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard

DMC - Debit Mastercard

MSI - Maestro

CIR - Cirrus

PVL - Private Label

Card type for Visa:

C - Credit

D - Debit

P - Prepaid

H - Charge

cardNumber

String

Masked card number

defaultCurrency

String

Default currency code for card

bankName

String

Bank name only for Mastercard

countryCardIssuing

String

Country card Issuing for Mastercard:

- ISO 3166-1 Alpha-3

countryCodeNumeric

String

Country code numeric for Mastercard::

- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES

- CANADA

- LATINA_AMERICA_AND_THE_CARIBBEAN

- ASIA_PACIFIC

- EUROPE

- SOUTH_ASIA_MIDDLE_EAST_AFRICA

- ANY

gcmsProductId

String

Gcms product id only for Mastercard:

This is the Product ID recognized by GCMS for the issuer account range and card program identifier combination. It may be different from the Licensed Product ID associated with the issuer account range and card program identifier combination.

eeaDomesticRateQualificationIndicator

String

EEA Domestic Rate Qualification Indicator only for Mastercard:

Y = EEA Domestic Rate qualified

N = Not EEA Domestic Rate qualified

responseCode

String

TResponse code

authorizeRRN

String

Retrieval Reference Number

authorizeStan

String

System Trace Audit Number (STAN)

transactionStatus

String

Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR

clearingAmount

Number

Clearing amount (in pennies)

autoClear

Boolean

Is auto clear enabled. Enabled if true, is not enabled if false. This flag allows to decide if the authorization should be cleared automatically according to the adopted clearing cycles on the Fenige side (option true). If it is set to false it means that the funds will only be blocked in the user account until the manual clearing method from chapter 5.12 Clearing is called.

reversalStatus

String

Reversal status from Fenige System: APPROVED, DECLINED, REJECTED, ERROR, TO_REVERSAL, CANNOT_REVERSAL, REVERSAL_TRANSACTION_NOT_FOUND,

reversalResponseCode

String

Reversal response code from MC/VISA System

reversalDate

String

Reversal date in format "yyyy-MM-dd HH:mm:ss"

reversalRRN

String

Reversal Retrieval Reference Number

reversalStan

String

Reversal System Trace Audit Number (STAN)

authorizationType

String

Authorization type: ELECTRONIC_COMMERCE_PURCHASE, ELECTRONIC_COMMERCE_TOKEN_AUTHORIZATION, CREDENTIAL_ON_FILE_INITIAL, CREDENTIAL_ON_FILE_SUBSEQUENT, RECURRING_INITIAL, RECURRING_SUBSEQUENT, MANUAL_ENTRY_MOTO_PURCHASE, INSTALLMENT_PAYMENT_PURCHASE

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

200 OK (Reversal Partial)
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1484

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
  "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
  "createdDate" : "2024-04-20 01:21:35",
  "amount" : 1000,
  "currency" : "USD",
  "provider" : "MASTERCARD",
  "cardType" : "DMC",
  "cardNumber" : "511796******1779",
  "defaultCurrency" : "PLN",
  "bankName" : "BANK MILLENNIUM S.A.",
  "countryCardIssuing" : "POL",
  "countryCodeNumeric" : "616",
  "region" : "EUROPE",
  "gcmsProductId" : "MDS",
  "eeaDomesticRateQualificationIndicator" : "Y",
  "responseCode" : "CODE_00",
  "authorizeRRN" : "014011103023",
  "authorizeStan" : "103023",
  "transactionStatus" : "REVERSED",
  "clearingAmount" : 1000,
  "autoClear" : true,
  "reversalStatus" : "APPROVED",
  "reversalResponseCode" : "CODE_00",
  "reversalDate" : "2024-04-20 01:21:45",
  "reversalRRN" : "014011103024",
  "reversalStan" : "103024",
  "authorizationType" : "ELECTRONIC_COMMERCE_PURCHASE",
  "reversals" : [ {
    "reversalDate" : "2024-04-20 01:21:45",
    "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
    "requestUuid" : "b818c33f-bf35-48b3-89dc-5ebedf73407d",
    "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
    "actualAmount" : 500,
    "reversalStatus" : "APPROVED",
    "reversalResponseCode" : "CODE_00",
    "reversalRRN" : "014011103024",
    "reversalStan" : "103024"
  } ],
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

merchantId

String

Merchant’s unique id in system

createdDate

String

Transaction creation date in format "yyyy-MM-dd HH:mm:ss"

amount

Number

Transaction amount (in pennies)

currency

String

Transaction currency

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard

DMC - Debit Mastercard

MSI - Maestro

CIR - Cirrus

PVL - Private Label

Card type for Visa:

C - Credit

D - Debit

P - Prepaid

H - Charge

cardNumber

String

Masked card number

defaultCurrency

String

Default currency code for card

bankName

String

Bank name only for Mastercard

countryCardIssuing

String

Country card Issuing for Mastercard:

- ISO 3166-1 Alpha-3

countryCodeNumeric

String

Country code numeric for Mastercard::

- ISO 3166-1 Numeric

region

String

Region for Mastercard:

- UNITED_STATES

- CANADA

- LATINA_AMERICA_AND_THE_CARIBBEAN

- ASIA_PACIFIC

- EUROPE

- SOUTH_ASIA_MIDDLE_EAST_AFRICA

- ANY

gcmsProductId

String

Gcms product id only for Mastercard:

This is the Product ID recognized by GCMS for the issuer account range and card program identifier combination. It may be different from the Licensed Product ID associated with the issuer account range and card program identifier combination.

eeaDomesticRateQualificationIndicator

String

EEA Domestic Rate Qualification Indicator only for Mastercard:

Y = EEA Domestic Rate qualified

N = Not EEA Domestic Rate qualified

responseCode

String

TResponse code

authorizeRRN

String

Retrieval Reference Number

authorizeStan

String

System Trace Audit Number (STAN)

transactionStatus

String

Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR

clearingAmount

Number

Clearing amount (in pennies)

autoClear

Boolean

Is auto clear enabled. Enabled if true, is not enabled if false. This flag allows to decide if the authorization should be cleared automatically according to the adopted clearing cycles on the Fenige side (option true). If it is set to false it means that the funds will only be blocked in the user account until the manual clearing method from chapter 5.12 Clearing is called.

reversalStatus

String

Reversal status from Fenige System: APPROVED, DECLINED, REJECTED, ERROR, TO_REVERSAL, CANNOT_REVERSAL, REVERSAL_TRANSACTION_NOT_FOUND,

reversalResponseCode

String

Reversal response code from MC/VISA System

reversalDate

String

Reversal date in format "yyyy-MM-dd HH:mm:ss"

reversalRRN

String

Reversal Retrieval Reference Number

reversalStan

String

Reversal System Trace Audit Number (STAN)

authorizationType

String

Authorization type: ELECTRONIC_COMMERCE_PURCHASE, ELECTRONIC_COMMERCE_TOKEN_AUTHORIZATION, CREDENTIAL_ON_FILE_INITIAL, CREDENTIAL_ON_FILE_SUBSEQUENT, RECURRING_INITIAL, RECURRING_SUBSEQUENT, MANUAL_ENTRY_MOTO_PURCHASE, INSTALLMENT_PAYMENT_PURCHASE

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

reversals

Array

List of reversals performed - last entry is effective

reversals.[].reversalDate

String

Reversal date and time in format "yyyy-MM-dd HH:mm:ss"

reversals.[].merchantId

String

MerchantId request value

reversals.[].requestUuid

String

RequestUuid request value

reversals.[].transactionUuid

String

Transaction uuid reversed transaction

reversals.[].actualAmount

Number

Actual amount correction of transaction

reversals.[].reversalStatus

String

Reversal status from Fenige System: APPROVED, DECLINED, REJECTED, ERROR, TO_REVERSAL, CANNOT_REVERSAL, REVERSAL_TRANSACTION_NOT_FOUND

reversals.[].reversalResponseCode

String

Reversal response code from MC/VISA System

reversals.[].reversalStan

String

Reversal System Trace Audit Number (STAN)

reversals.[].reversalRRN

String

Reversal Retrieval Reference Number

200 OK (Refund)
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1379

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "transactionUuid" : "7ac385f1-6f6f-4cf7-849a-7125d9b85c10",
  "merchantId" : "19caef50-89d8-42a8-a9c4-c747606cc0b6",
  "createdDate" : "2024-04-20 01:21:35",
  "amount" : 1000,
  "currency" : "USD",
  "provider" : "VISA",
  "cardType" : "C",
  "cardNumber" : "487474*****1296",
  "defaultCurrency" : "PLN",
  "countryCardIssuing" : "POL",
  "countryCodeNumeric" : "616",
  "region" : "3",
  "productId" : "P",
  "binType" : "I",
  "domain" : "W",
  "settlementMatch" : " ",
  "responseCode" : "CODE_00",
  "authorizeRRN" : "014011103023",
  "authorizeStan" : "103023",
  "transactionStatus" : "CLEARED",
  "clearingAmount" : 1000,
  "clearingStatus" : "APPROVED",
  "clearingFileName" : "2020_07_08_00_28_02_488_MerchantName_23183_4111_clearing.IPM",
  "clearingFileId" : "0022005190000001621250287",
  "arn" : "05411640143500000019325",
  "autoClear" : true,
  "refunds" : [ {
    "refundUuid" : "2507aec1-f8cd-4ab5-8a07-edc3795cdf88",
    "refundAmount" : 500,
    "refundStatus" : "APPROVED",
    "refundDate" : "2024-04-21 01:21:35",
    "refundResponseCode" : "CODE_00",
    "refundRRN" : "014011103024",
    "refundARN" : "05411641197500000007067",
    "refundStan" : "103024"
  } ],
  "authorizationType" : "ELECTRONIC_COMMERCE_PURCHASE",
  "status" : "S00000",
  "message" : "SUCCESS",
  "httpStatus" : "OK"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

merchantId

String

Merchant’s unique id in system

createdDate

String

Transaction creation date in format "yyyy-MM-dd HH:mm:ss"

amount

Number

Transaction amount (in pennies)

currency

String

Transaction currency

provider

String

Card’s provider

cardType

String

Card type for Mastercard:

MCC - Credit Mastercard

DMC - Debit Mastercard

MSI - Maestro

CIR - Cirrus

PVL - Private Label

Card type for Visa:

C - Credit

D - Debit

P - Prepaid

H - Charge

R – Deferred Debit

Space – Not applicable

cardNumber

String

Masked card number

defaultCurrency

String

Default currency code for card

countryCardIssuing

String

Country card Issuing for Visa:

- ISO 3166-1 Alpha-2

countryCodeNumeric

String

Country code numeric for Visa::

- ISO 3166-1 Numeric

region

String

Region for Visa:

1 = US

2 = Canada

3 = Visa Europe

4 = Asia-Pacific

5 = Latin America and Carribean

6 = CEMEA

binType

String

Bin type for Visa:

F = Full Service

I = Issuer Only

M = Merchant Only

N = Nonfinancial

O = On Behalf Of (OBO)

P = Processor

S = SMS Financial entity

V = Visa Internal entity

domain

String

Domain for Visa:

W = (Worldwide)

R = (Regional)

N = (National)

D = (Domestic)

settlementMatch

String

Settlement match for Visa:

B = (B2B)

E = B2E

Space = (Not applicable)

productId

String

Product ID only for VISA.

This field contains the Product ID values: A - Visa Traditional, AX - American Express, B - Visa Traditional Rewards, C -Visa Signature, D - Visa Signature Preferred, DI -Discover, DN - Diners, E - Proprietary ATM, F - Visa Classic, G - Visa Business, G1 - Visa Signature Business, G3 -Visa Business Enhanced, G4 -Visa Infinite Business, G5 -Visa Business Rewards, I -Visa Infinite, I1 - Visa Infinite Privilege, I2 -Ultra High Net Worth, J3 - Visa Healthcare, JC - JCB, K - Visa Corporate T&E, K1 - Visa Government Corporate T & E, L - Electron, M - Mastercard, N - Visa Platinum, N1 - Visa Rewards, N2 - Visa Select, P - Visa Gold, Q - Private Label, Q2 - Private Label Basic, Q3 -Private Label Standard, Q4 -Private Label Enhanced, Q5 -Private Label Specialized, Q6 -Private Label Premium, R -Proprietary, S - Visa Purchasing, S1 - Visa Purchasing with Fleet, S2 - Visa Government Purchasing, S3 -Visa Government Purchasing with Fleet, S4 -Commercial Agriculture, S5 - Commercial Transport, S6 - Commercial Marketplace, U - Visa TravelMoney, V - V PAY, X - Visa B2B Virtual Payments

responseCode

String

Response code

authorizeRRN

String

Retrieval Reference Number

authorizeStan

String

System Trace Audit Number (STAN)

transactionStatus

String

Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR

clearingStatus

String

Clearing status: APPROVED, DECLINED, REJECTED, ERROR, TO_CLEARING, WAITING_FOR_SENDING_FILE_TO_MASTERCARD, CANNOT_CLEAR, CLEARING_TRANSACTION_NOT_FOUND, TIME_IS_OVER, PENDING, PROCESSING

clearingFileName

String

File name clearing file’s to be sent to MC/VISA. For example Mastercard: {date YYYY_MM_DD_HH_MM_SS_SSS}_{merchant_name}_{ICA}_{mcc}_clearing.IPM 2020_07_08_00_28_02_488_MerchantName_23183_4111_clearing.IPM Visa: {date YYYY_MM_DD_HH_MM_SS_SSS}_{merchant_name}_{acquirer BIN}_{mcc}_clearing.ctf 2020_07_08_00_28_02_488_MerchantName_439696_4111_clearing.ctf

clearingFileId

String

File id clearing file’s to be sent to MC/VISA

arn

String

Acquirer Reference Number

clearingAmount

Number

Clearing Reference Number

autoClear

Boolean

Is auto clear enabled. Enabled if true, is not enabled if false. This flag allows to decide if the authorization should be cleared automatically according to the adopted clearing cycles on the Fenige side (option true). If it is set to false it means that the funds will only be blocked in the user account until the manual clearing method from chapter 5.12 Clearing is called.

refunds

Array

List of refunds ordered

refunds.[].refundUuid

String

Unique refund uuid

refunds.[].refundAmount

Number

The total refund amount

refunds.[].refundStatus

String

Refund status

refunds.[].refundDate

String

Refund creation date in format "yyyy-MM-dd HH:mm:ss"

refunds.[].refundResponseCode

String

Refund Response code from MC/VISA system

refunds.[].refundRRN

String

Refund Retrieval Reference Number

refunds.[].refundStan

String

Refund System Trace Audit Number (STAN)

refunds.[].refundARN

String

Refund Acquirer Reference Number

authorizationType

String

Authorization type: ELECTRONIC_COMMERCE_PURCHASE, ELECTRONIC_COMMERCE_TOKEN_AUTHORIZATION, CREDENTIAL_ON_FILE_INITIAL, CREDENTIAL_ON_FILE_SUBSEQUENT, RECURRING_INITIAL, RECURRING_SUBSEQUENT, MANUAL_ENTRY_MOTO_PURCHASE, INSTALLMENT_PAYMENT_PURCHASE

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

401 UNAUTHORIZED
HTTP Response - STATUS: E80002
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "timestamp": "2020-06-01T12:29:01.246+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/processor/payments/query/{requestUuid}/{merchantId}/{transactionUuid}"
}
Table 172. Response fields
Path Type Description

timestamp

String

Time stamp

status

Number

Response code from Fenige system

error

String

Response http status

message

String

Message for response code from Fenige system

path

String

Path

404 NOT FOUND
HTTP/1.1 404 Not Found
Content-Type: application/json
Content-Length: 206

{
  "requestUuid" : "85e1d868-b573-4de5-a1c2-f3e9762dd306",
  "status" : "E00155",
  "message" : "Transaction not exist",
  "httpStatus" : "NOT_FOUND",
  "traceId" : "bb88fb0e-92a8-4886-8817-f9a0d8e2d2dd"
}
Path Type Description

requestUuid

String

Request’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Id of error trace

7. Reports

The report is a csv file generated from messages received from Mastercard/Visa for transactions processed on behalf of Acquirer.

7.1. Reports exchange

Reports exchange in CSV format will take place through a dedicated sftp resource to which the acquirer will receive a VPN allowing the connection to download shared reports.
Before the report is placed, an email will be sent to the acquirer containing information about which report has been added.
file exchange processor

7.2. Mastercard

7.2.1. Message_Exception

A message informing about an error on the acquirer/processor side that generated the clearing message. This message refers to an incorrect construction of a particular
clearing message, for example an incorrect value or combination of values in a message for a particular transaction type. Other reason - lack or excess of a particular
element in the message. It contains information about the error code and the wrong element from the original message. Error handling is by the processor - Fenige.
Once the cause of the error has been identified and corrected, the transaction for which the error occurred must be cleared again, otherwise the funds will be withdrawn after 7 days.
Table 173. CSV file structure
Path Description

transactionUuid

Transaction’s unique uuid in system

merchantId

Merchant’s unique uuid in system

error_code

Error code

error_code_desc

A description of reason for declined transaction

file_id

Clearing file’s id with which there was a problem

7.2.2. File_Reject

A message informing about a clearing error on the acquirer/processor side that generated the clearing file. It means that the entire clearing file is incorrect and is
rejected together with all clearing transactions in it. Transactions from this file have not been settled. It contains information about the file's Id that is rejected and
the reason for the error.
Error handling is by the processor - Fenige.
Once the cause of the error has been identified and corrected, the entire package that was rejected must be cleared again, otherwise after 7 days the funds for the transactions in the package will be withdrawn.
Table 174. CSV file structure
Path Description

merchantId

Merchant’s unique uuid in system

error_code

Error code

error_code_desc

A description of reason for declined clearing file

file_id

Clearing file’s id with which there was a problem

7.2.3. Currency_Update

    Currency Update/1644 messages provide conversion rates between Mastercard Global Payment currency and all other payment currencies supported by Mastercard. Mastercard
supports buy, mid, and sell currency conversion rates. Customers may request Currency Update/1644 messages from Mastercard as part of the clearing file. The following are
delivery options for Currency Update/1644 messages:
• Do not deliver Currency Update/1644 messages
• Deliver mid rate Currency Update/1644 messages
• Deliver buy and sell rate Currency Update/1644 messages only
• Deliver buy, mid, and sell rate Currency Update/1644 messages
    Once these options are selected, the customer must also specify which clearing cycles they
have selected to receive the deliveries. The clearing cycles indicated should coincide with a
delivery cycle for that customer or endpoint.
Table 175. CSV file structure
Path Description

currency_update_cross_rate_currency_code

Is the ISO numeric currency code of the currency for which conversion rate information is being provided

currency_update_cross_rate_currency_conversion_rate

Is the conversion rate between Reconciliation Currency (currency_code_reconciliation) and the Update Currency Cross Rate (currency_update_cross_rate_currency_code). First position indicates the decimal point position of the conversion rate data. For example, a value of 90001234567 indicates a conversion rate of 0.001234567.

currency_update_cross_rate_currency_conversion_type

Indicates the type of rate. The customer uses three rate types to calculate settlement

- B - Buy rate

- M - Mid rate

- S - Sell rate

currency_update_cross_rate_currency_business_date

Indicates the business date that the currency conversion rates are effective. The format is YYMMDD

currency_update_cross_rate_currency_delivery_cycle

Contains the delivery cycle in which the currency conversion rates are being distributed

currency_code_reconciliation

Reconciliation currency

message_number

Monitors the integrity and continuity of the files being exchanged

transaction_destination_institution_id_code

Identifies the transaction destination institution

transaction_originator_institution_id_code

Identifies the transaction originator institution

receiving_institution_id_code

Identifies the receiving institution

7.2.4. Currency_Summary

Summary for the clearing file, per currency, split into debit and credit. It does not require any action - this is an informative report.
Table 176. CSV file structure
Path Description

file_id

Clearing file’s id

currency

Currency

debit_trx_amount_in_trx_currency

Debits, Transaction Amount In Transaction Currency

'D0000000000002563'

- 1 position 'D' - Debit Indicator

- 2-17 '0000000000002563' - Amount in pennies

credit_trx_amount_in_trx_currency

Credits, Transaction Amount in Transaction Currency

'C0000000000002563'

- 1 position 'C' - Credit Indicator

- 2-17 '0000000000002563' - Amount in pennies

amount_net_trx_in_trx_currency

Amount, Net Transaction in Transaction Currency

'C0000000000002563'

- 1 position 'C/D' - Credit/Debit Indicator

- 2-17 '0000000000002563' - Amount in pennies

debit_trx_number

Debits, Transaction Number

credit_trx_number

Credits, Transaction Number

total_trx_number

Total, Transaction Number

7.2.5. Financial_Position_Details

This is a report containing detailed information on settlements with the client according to the settlement currency. It contains information about transaction amounts in
transaction currencies and settlement currencies. It contains information on the amounts of transactions in the currencies of transaction and in the settlement currencies.
In addition, it contains information about fees for particular transactions. It does not require any action - this is an informative report.
Table 177. CSV file structure
Path Description

file_id

Clearing file’s id

currency_trx

Currency Code, Transaction

currency_reconciliation

Currency Code, Reconciliation

indicator

Original/Reversal Totals Indicator {O/R}

debit_trx_amount_in_trx_currency

Debits, Transaction Amount In Transaction Currency

'D0000000000002563'

- 1 position 'D' - Debit Indicator

- 2-17 '0000000000002563' - Amount in pennies

credit_trx_amount_in_trx_currency

Credits, Transaction Amount in Transaction Currency

'C0000000000002563'

- 1 position 'C' - Credit Indicator

- 2-17 '0000000000002563' - Amount in pennies

amount_net_trx_in_trx_currency

Amount, Net Transaction in Transaction Currency

'C0000000000002563'

- 1 position 'C/D' - Credit/Debit Indicator

- 2-17 '0000000000002563' - Amount in pennies

debit_trx_amount_in_reconciliation_currency

Debits, Transaction Amount In Reconciliation Currency

'D0000000000002563'

- 1 position 'D' - Debit Indicator

- 2-17 '0000000000002563' - Amount in pennies

credit_trx_amount_in_reconciliation_currency

Credits, Transaction Amount in Reconciliation Currency

'C0000000000002563'

- 1 position 'C' - Credit Indicator

- 2-17 '0000000000002563' - Amount in pennies

debit_fee_amount_in_reconciliation_currency

Debits, Fee Amounts in Reconciliation Currency

'00D0000000000002563'

- 1-2 position '00' - Fee Type Code

- 3 position 'D' - Debit Indicator

- 4–18 position '0000000000002563' - Amount in pennies

credit_fee_amount_in_reconciliation_currency

Credits, Fee Amounts in Reconciliation Currency

'00C0000000000002563'

- 1-2 position '00' - Fee Type Code

- 3 position 'C' - Credit Indicator

- 4–18 position '0000000000002563' - Amount in pennies

amount_net_trx_in_reconciliation_currency

Amount, Net Transaction in Reconciliation Currency

'C0000000000002563'

- 1 position 'C/D' - Credit/Debit Indicator

- 2-17 '00000000000002563' - Amount in pennies

amount_net_fee_in_reconciliation_currency

Amount, Net Fee in Reconciliation Currency

'C000000000002563'

- 1 position 'C/D' - Credit/Debit Indicator

- 2-16 '0000000000002563' - Amount in pennies

amount_net_total_in_reconciliation_currency

Amount, Net Total in Reconciliation Currency

'C0000000000002563'

- 1 position 'C/D' - Credit/Debit Indicator

- 2-17 '0000000000002563' - Amount in pennies

debit_trx_number

Debits, Transaction Number

credit_trx_number

Credits, Transaction Number

total_trx_number

Total, Transaction Number

7.2.6. Settlement_Position_Details

    The Settlement Position Detail/1644-688 message provides details of a customer’s settlement
activity by settlement service and other settlement reconciliation categories.
    This message may be used to reconcile financial activity at the file level against settlement
funds transfers. These messages, generated after clearing cycle cutoffs, provide totals for each
file processed in the clearing cycle.
    Customers electing to receive settlement reconciliation messages will be automatically setup
for “default” categories. In addition, five optional categories are available from which
Customers may choose. Customers must always be set up for at least the two default
categories to receive the settlement position detail reconciliation messages. The clearing
system will accumulate totals in reconciliation currency and generate Settlement Position
Detail/1644-688 reconciliation messages for both customer inbound data (notification data)
and customer outbound data
    It does not require any action - this is an informative report.
Table 178. CSV file structure
Path Description

file_id

Clearing file’s id

currency_trx

Currency Code, Transaction

currency_reconciliation

Currency Code, Reconciliation

card_program_identifier_code

Card Program Identifier Code

trx_function_group_code

Transaction Function Group Code

trx_amount_in_reconciliation_currency

Debits, Transaction Amount in Reconciliation Currency

'D0000000000002563'

- 1 position 'D' - Debit Indicator

- 2-17 '0000000000002563' - Amount in pennies

credit_trx_amount_in_reconciliation_currency

Credits, Transaction Amount in Reconciliation Currency

'C0000000000002563'

- 1 position 'C' - Credit Indicator

- 2-17 '0000000000002563' - Amount in pennies

debit_fee_amount_in_reconciliation_currency

Debits, Fee Amount in Reconciliation Currency

'00D0000000000002563'

- 1-2 position '00' - Fee Type Code

- 3 position 'D' - Debit Indicator

- 4–18 position '0000000000002563' - Amount in pennies

credit_fee_amount_in_reconciliation_currency

Credits, Fee Amount in Reconciliation Currency

'00C0000000000002563'

- 1-2 position '00' - Fee Type Code

- 3 position 'C' - Credit Indicator

- 4–18 position '0000000000002563' - Amount in pennies

amount_net_trx_in_reconciliation_currency

Amount, Net Transaction in Reconciliation Currency

'C0000000000002563'

- 1 position 'C/D' - Credit/Debit Indicator

- 2-17 '0000000000002563' - Amount in pennies

amount_net_fee_in_reconciliation_currency

Amount, Net Fee in Reconciliation Currency

'C000000000002563'

- 1 position 'C/D' - Credit/Debit Indicator

- 2-16 '0000000000002563' - Amount in pennies

amount_net_total_in_reconciliation_currency

Amount, Net Total in Reconciliation Currency

'C0000000000002563'

- 1 position 'C/D' - Credit/Debit Indicator

- 2-17 '0000000000002563' - Amount in pennies

7.2.7. Chargeback

Chargeback is a type of return amount initiated by the card issuer on behalf of the customer (the cardholder initiates the entire procedure by contacting their bank).
The chargeback can be accepted or rejected by the acquirer by giving a reason and generating an appropriate Return message. The time frame for the first chargebacks is 45,
60,90,120 and 540 days after the transaction date. When a chargeback occurs, we will send you a file informing you about it. On the Visa side the chargeback is handled in VROL applications by Acquirer. On the Mastercard side the chargeback is
handled in Mastercard Connect (MasterCom) by Acquirer.
Table 179. CSV file structure
Path Description

transactionUuid

Transaction’s unique uuid in system

merchantId

Merchant’s unique uuid in system

transaction_amount

Transaction amount

chargeback_amount

Chargeback amount

date_and_time

Date and Time, Local Transaction

reason_code

Message Reason Code

message_reason_desc

A description of reason for chargeback

arn

Acquirer Reference Data

forwarding_institution_id_code

Bank’s ICA, Forwarding Institution ID Code

currency_code_transaction

Currency code transaction

type

{CHARGEBACK_FULL, CHARGEBACK_PARTIAL, ARBITRATION_CHARGEBACK_PARTIAL, ARBITRATION_CHARGEBACK_FULL}

7.2.8. Retrieval_Request

A message generated by the bank, which is a request to the acquirer to send additional information, documents confirming the processing of a particular transaction by the acquirer.
The request is generated at the bank wish or the bank's customer to which the transaction relates.
The service is performed by the MasterCom application on the Mastercard Connect platform by Acquirer.
Table 180. CSV file structure
Path Description

transactionUuid

Transaction’s unique uuid in system

merchantId

Merchant’s unique uuid in system

arn

Acquirer Reference Data

reason_code

Message Reason Code

7.2.9. Fee_Collection_Clearing_System

A message summarizing the costs associated with the transactions processing calculated by Mastercard. It may include administrative costs, membership fees and penalties
calculated for deviations from the adopted Mastercard processing rules.
The Clearing System-generated message is informative and cannot be rejected.
Table 181. CSV file structure
Path Description

amount_trx

Transaction amount

amount_reconciliation

Reconciliation amount

currency_code_trx

Transaction currency code

currency_code_ reconciliation

Reconciliation currency code

data_desc

Trx data

trx_originator_institution_id_code

Transaction Originator Institution ID Code - the bank that reported it

7.2.10. Fee_Collection_Customer

Similar to fee_collection_clearing_system_generated, it applies to fees and costs. The difference is in the ability to react to the data received. The customer_generated
message can be rejected by the acquirer twice in total by giving a reason and generating an appropriate Return message. The response time is 45 days each time. If the fee_collection dispute is not resolved, the case is solved by a Mastercard arbitration. It may include administrative costs, membership fees and penalties for deviations from the accepted Mastercard processing rules.
The Clearing System-generated message is informative and cannot be rejected.
Table 182. CSV file structure
Path Description

transactionUuid

Transaction’s unique uuid in system

merchantId

Merchant’s unique uuid in system

amount_trx

Transaction amount

amount_reconciliation

Reconciliation amount

arn

Acquirer Reference Data

currency_code_trx

Transaction currency code

currency_code_ reconciliation

Reconciliation currency code

data_desc

AML, fee coll sending back Data Record

date

Action date

trx_originator_institution_id_code

Transaction Originator Institution ID Code - the bank that reported it

Fee Collection Customer API
POST /processor/payments/fee-collection Content Type: application/json, Authorization: Basic Auth
This API allows to response for Fee Collection
fee collection customer
Request
ACCEPT
POST /processor/payments/fee-collection HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 119
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "fdd9ac65-353c-4f2a-bae5-299c3a35cdaf",
  "requestUuid" : "c2cc0fd8-ceeb-4d36-8117-de6c02c0f35e",
  "merchantId" : "395c8e31-a858-4f22-82e1-7f4b1e14a6f1",
  "action" : "ACCEPT",
}
REJECT
POST /processor/payments/fee-collection HTTP/1.1
Content-Type: application/json
Authorization: Basic dXNlcjpwYXNzd29yZA==
Content-Length: 119
Host: processor-staging.fenige.pl

{
  "transactionUuid" : "fdd9ac65-353c-4f2a-bae5-299c3a35cdaf",
  "requestUuid" : "c2cc0fd8-ceeb-4d36-8117-de6c02c0f35e",
  "merchantId" : "395c8e31-a858-4f22-82e1-7f4b1e14a6f1",
  "action" : "REJECT",
  "rejectReason" : "Description of reject reason"
}
Table 183. Fee Collection Customer request fields
Path Type Constraints Description

transactionUuid

String

@Must not be null

Unique transaction uuid which, together with the merchantId, identifies transactions

requestUuid

String

@Must not be null

Request’s unique uuid in system

merchantUuid

String

@Must not be null

Merchant’s unique uuid in system

action

String

Action: {ACCEPT, REJECT}

rejectReason

String

@Must not be null

Reject reason, its required field in chargeback reject

Response
200 OK
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164

{
  "transactionUuid" : "fdd9ac65-353c-4f2a-bae5-299c3a35cdaf",
  "requestUuid" : "c2cc0fd8-ceeb-4d36-8117-de6c02c0f35e",
  "status" : "S00000",
  "message" : "Success",
  "httpStatus" : "OK"
}
Table 184. Fee Collection Customer response fields
Path Type Description

transactionUuid

String

Transaction’s unique uuid in system

requestUuid

String

Request’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

400 BAD REQUEST
HTTP Response - STATUS: E80000
HTTP/1.1 400 Bad Request
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:26 GMT
Connection: close
Content-Length: 640

{
    "errors": {
        "rejectReason": [
            "may not be null"
        ],
        "field": [
            "reject reason is mandatory only if action is REJECT"
        ]
    },
    "status": "E80000",
    "httpStatus": "BAD_REQUEST",
    "traceId": "9eef62ab-fad4-441f-a229-bd0d3de5471e"
}
Table 185. Response fields
Path Type Description

status

String

Response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

401 UNAUTHORIZED
HTTP Response - STATUS: E80002
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Realm"
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 158
Date: Thu, 12 Mar 2020 14:03:26 GMT

{
    "timestamp": "2020-06-01T12:29:01.246+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/processor/payments/fee-collection"
}
Table 186. Response fields
Path Type Description

timestamp

String

Time stamp

status

Number

Response code from Fenige system

error

String

Response http status

message

String

Message for response code from Fenige system

path

String

Path

404 NOT FOUND
HTTP/1.1 404 Not Found
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 Mar 2020 14:03:40 GMT
Content-Length: 260

{
    "requestUuid": "c2cc0fd8-ceeb-4d36-8117-de6c02c0f35e",
    "transactionUuid": "fdd9ac65-353c-4f2a-bae5-299c3a35cdaf",
    "status": "E00155",
    "message": "Transaction not exist",
    "httpStatus": "NOT_FOUND",
    "traceId": "fccd7b7c-db7b-4490-84b0-3ad0947159db"
}
Table 187. Response fields Path
Path Type Description

requestUuid

String

Request’s unique uuid in system

transactionUuid

String

Transaction’s unique uuid in system

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

500 INTERNAL SERVER ERROR
HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8
Content-Length: 167

{
    "timestamp": "2020-06-01T12:33:16.989+0000",
    "status": 500,
    "error": "Internal Server Error",
    "message": "Domain error"
}
Table 188. Response fields
Path Type Description

timestamp

String

Time stamp

status

Number

Response code from Fenige system

error

String

Response http status

message

String

Message for response code from Fenige system

503 SERVICE UNAVAILABLE
HTTP Response - STATUS: E90001
HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Content-Length: 267

{
    "status": "E90001",
    "message": "Error acquirer connection",
    "httpStatus": "SERVICE_UNAVAILABLE",
    "traceId": "0ebfec21-e8e1-4142-a375-59503c4dbf55"
}
Table 189. Response fields
Path Type Description

status

String

Response code from Fenige system

message

String

Message for response code from Fenige system

httpStatus

String

Response http status

traceId

String

Unique id for this http request register in system

7.2.11. Interchange_Report

A report generated by Mastercard in each clearing cycle. It returns the interchange costs charged by MC, expressed in the transaction currency and the currency used to settle the transaction.
It contains most of the information from the original clearing sent by the acquirer, which allows to correlate the report record with the executed transaction.
Does not require any action - informative.
Table 190. CSV file structure
Path Description

transactionUuid

Transaction unique uuid in system

transactionType

Transaction type: REFUND, AUTHORIZATION

arn

Acquirer Reference Data

amount_transaction

Transaction Amount

currency_code_transaction

Transaction Currency Code

amount_reconciliation

Transaction Reconciliation Amount

currency_code_reconciliation

Transaction’s Reconciliation Currency Code

date_and_time_local_transaction

Transaction Local Date and Time

amount_fee

Transaction Amount Fee

currency_code_fee

Transaction Currency Code Fee

transaction_life_cycle_id

Transaction Life Cycle ID

7.2.12. T140_T150_Clearing_Cycle_Report

The Global Clearing Management System reports supplement the reconciliation messages and
will facilitate customers internal reconciliation and balancing related to Mastercard.
Customers can request these reports in print image format. The print image format is a
standard 133-character print format that contains a one-position carriage control.
Customers can use the reports for both financial data reporting and for customer statistical
data capture for analysis within customer management information systems (MIS).
The Global Clearing Management System separates the clearing reports for accepted
transactions by acknowledgement and notification clearing data. The Global Clearing
Management System generates these reports upon completion of the applicable clearing
cycle. Once these reports are generated, the Global Clearing Management System sends them
to the customers that have requested them. These reports are optional.
Customers requesting the reports will receive them for each clearing cycle.
Table 191. The file has different names on different environments, as listed below

Environment

File name example

Test

TT150T0.2020-07-31-21-10-26.001

Production

TT140T0.2020-07-31-21-10-26.001

IPM Clearing Reports—Clearing Cycle Summary
This report includes reconciliation totals at the following levels:
  Card Program Identifier (Acceptance Brand)
  Business Service Level
  Customer ID (sender or receiver)
  Logical file ID to Mastercard, or logical file ID from Mastercard
  Totals in the appropriate reconciliation currency, and that reconciliation currency code
  The Global Clearing Management System transmits the Clearing Cycle Summary
  reports using bulk type T140 (for production) and T150 (for test).
Report Number Report Name Description

IP727010-AA

Reconciliation Acknowledgement Report

For transactions sent from the customer’s processing site to Mastercard

IP727020-AA

Reconciliation Notification Report

For transactions sent to the customer’s processing site

IP728010-AA

Clearing Cycle Summary Report

A summary of the clearing cycle activity based on completion of each clearing cycle. The Global Clearing Management System generates one report per clearing cycle per member ID.

Table 192. txt file structure
Path Description

Run Date

The date on which this report was produced.

Page

The page number within the report.

Acceptance Brand (CardProgram Identifier)

The code for the Mastercard or proprietary service marks under whose umbrella transactions are processed. As an example, MCC (Mastercard Card) is a card program.

Business Service Level

Identifies the interchange relationship for the business arrangement. Examples are intracountry, intraregional, and interregional.

Business Service ID

A unique code that identifies the specific interchange agreement assigned to the transaction.

File ID

The logical file ID to which the data in this report pertains.

Member ID

The identifier that the association assigns to a customer (also referred to as ICA number).

Settlement Indicator

Identifies the settlement disposition of the reported transactions. Values are Mastercard Settled, Global Collection Only (no settlement), and Bilateral (no settlement).

Trans. Func. (Transaction Function)

The IPM Message Type Identifier and Function Code combination that defines the transaction. Examples of transaction functions are first presentment, first chargeback, and second presentment.

Proc. Code (Processing Code)

Describes the effect of a transaction on a customer account and the type of account affected. Examples are purchase, credit, and ATM cash withdrawal. All transactions are defined as either an original or a reversal.

IRD

The interchange rate desigator defines the interchange program for which the transactions were presented.

Counts

The number of transactions accumulated for the applicable processing code.

Recon. Amount (Reconciliation Amount)

The total net amount (with fees applied) of the transactions in reconciliation currency for the applicable processing code. NOTE: Global Collection Only and Bilateral transactions are not settled by Mastercard; therefore, the field contains a zero.

Recon. Currency Code

The numeric and alpha ISO currency code associated with the reconciliation currency (Always 840-USD for Global Collection Only and Bilateral).

Trans. Fee (Transaction Fee)

The total of the transaction fees applicable to the transactions for the processing code. NOTE: Global Collection Only and Bilateral transactions are not settled by Mastercard; therefore, the field contains a zero.

Fee Curr. Code (Fee Currency Code)

The numeric and alpha ISO currency code associated with the fee currency (Always 840-USD for Global Collection Only and Bilateral). Total The total count and net amount (with fees applied) of the transactions and reconciliation currency for the applicable transaction function.

Subtotal

The subtotal of the Mastercard Settled, Global Collection Only, or Bilateral transaction amounts for the specified Business Service level. NOTE: Global Collection Only and Bilateral transactions are not settled by Mastercard; therefore, the field contains a zero.

7.2.13. T783_T784_GCMS_Transaction_Report

These tables and figures provide details about Global Clearing Management System
transaction and chargeback analysis reports, such as the bulk types through which they are
transmitted, the versions in which they appear, and the descriptions of their fields.
Table 193. The file has different names on different environments, as listed below

Environment

File name example

Test

TT784T0.2020-07-31-21-10-26.001

Production

TT783T0.2020-07-31-21-10-26.001

Table 194. The transaction and chargeback analysis reports include:
Report Number Description

IP776010-AA

Global Clearing Management System Transaction/Chargeback Analysis Report

IP776020-AA

Chargeback Activity Summary—Acquirer

IP776030-AA

Dollar/Volume Summary Report—Acquirer

IP776010-AA Report
Path Description

Report Name

Constant; Value is always Mastercard Global Clearing Management System Transaction/Chargeback Analysis..

Report Number

Constant; Value is always IP776010-AA.

Customer ID

Received from Global Clearing Management System customer master file.

Customer Name

Name of the customer associated with the above member ID.

Report Subtitle

Constant; Value is always Life Cycle Volume Analysis—Acquirer.

Run Date

Current processing date.

Page

Incremental number starting at 1 for each new ICA number/customer ID.

Period From

The specific beginning and end dates of the reporting month.

Year-to-date

Calendar year to date beginning with January through the current reporting month.

Financial Detail Sent

Total number of First Presentments/1240-200.

Dollar Volume

Total U.S. dollar amount of First Presentments/1240-200.

First Chargeback Received

Total number of First Chargebacks/1442-450 (full) and 1442-453 (partial).

Chargeback Dollars

Total U.S. dollar amount of 1442-450 (full) and 1442-453 (partial) messages.

Retrieval Reqst Recd

Total number of Retrieval Request/1644-603 messages.

PCNT FNCL

Value of the first Chargeback Received, Chargeback Dollars, and Retrieval Reqst Recd fields as a percentage of the total First Presentments/1240-200 messages sent/received by the customer.

PCNT Global Clearing Management System

Value of fields 1 and 5 for the customer as compared with the total volume of corresponding activity processed by Global Clearing Management System for all customers (IP776010-CC report).

Retrieval Volume

Retrieval ReqstRecd (by acquirer) Sent (by issuer)

Total number of Retrieval Request/1644-603 messages processed for MasterCom and manual (non-MasterCom) retrieval activity.

Retrieval Volume

Fulfillments Sent

Total number of fulfillments processed for MasterCom and manual (non-MasterCom) fulfillment activity.

Retrieval Volume

CgbkRecd

Total number of First Chargeback/1442-450 and 1442-453 messages sent/ received. Both MasterCom and manual (non-MasterCom) chargeback activity is reported.

vs Retvls Recd

Total number of First Chargeback/1442-450 and 1442-453 messages as a percentage of total retrieval requests received (Retrieval Reqst Recd field). Percentages are shown in the report for MasterCom, manual (non- MasterCom), and total activity.

Reason Code

Total number of First Chargeback/1442-450 and 1442-453 messages. Both MasterCom and manual (non-MasterCom) activity is reported.

Retrieval Volume

Retrvls Recd vs Fin Sent

Total number of Retr. Rqst. Rcd. (Retrieval Request/1644-603 messages) as a percentage of Financial Detail Sent (First Presentment/1240-200 messages) for MasterCom and manual (non-MasterCom) activity.

1st Cgbk

Number of 45-day, 120-day, and total First Chargeback/1442-450 (Full) and 1442-453 (Partial) messages for all message reason codes received (by acquirer) or sent (by issuer). NOTE: Included in the 45-day count are transactions submitted with message reason code, which are 60-day chargebacks, and included in the 120-day count are ATM transactions submitted with reason code 4859, which are 180-day chargebacks.

2nd Pres

Number of 45-day, 120-day, and Second Presentment/1240-205 (Full) for all message reason codes received (by issuer) or sent and 1240-282 (Partial) messages (by acquirer).

Arbitration Chargeback

Number of 45-day, 120-day, and total Arbitration Chargeback/1442-451(Full) and 1442-454 (Partial) messages for all reason codes received (by acquirer) or sent (by issuer).

Total Volume

Number of all first chargeback, second presentment, and arbitration chargeback messages.

Total

Total number of First Chargeback (1442-450 and 1442-453), Second Presentment (1240-205 and 1240-282), and Arbitration Chargeback (1442-451 and 1442-454) messages.

Average Ticket

Total chargeback dollars divided by total chargeback volume. Total U.S. dollars can be derived by adding the net U.S. dollar amount for chargebacks and second presentments shown on the corresponding IP776030 Dollar Volume Summary report.

IP776020-AA Report
Path Description

Report Name

Constant; Value is always Mastercard Global Clearing Management System Transaction/Chargeback Analysis..

Report Number

Constant; Value is always IP776020-AA.

Customer ID

Received from Global Clearing Management System customer master file.

Customer Name

Name of the customer associated with the above member ID.

Report Subtitle

Constant; Value is always Life Cycle Volume Analysis—Acquirer.

Run Date

Current processing date.

Page

Incremental number starting at 1 for each new ICA number/customer ID.

Period From

The specific beginning and end dates of the reporting month.

Reason Code

All activity on this report is sorted by message reason code. Message reason codes 4834 and 4859 include both ATM and non-ATM activity. For a chargeback reason code, both MasterCom and manual (non- MasterCom) activity is reported.

Percent of Cgbk

Percentage of Total Chargeback Volume (for message reason code specified) to the grand total of total chargeback volume processed.

Total Cgbk Volume

Total number of first chargebacks, second presentments, and arbitration chargebacks by message reason code.

Total Cgbk DollarAmount

Total dollar amount of first chargebacks, second presentments, and arbitration chargebacks by message reason code.

1st Cgbk

Volume of First Chargeback/1442-450 (Full) and 1442–453 (Partial) messages.

2nd Pres

Volume of Second Presentment/1240-205 (Full) and 1240-282 (Partial) messages.

Arb Cgbk

Volume of Arbitration Chargeback/1442-451 (Full) and 1442-454 (Partial) messages.

Grand Total

Grand totals for all chargeback, second presentment, and arbitration chargeback activity.

IP776030-AA Report
Path Description

Report Name

Constant; Value is always Mastercard Global Clearing Management System Transaction/Chargeback Analysis..

Report Number

Constant; Value is always IP776030-AA.

Customer ID

Received from Global Clearing Management System customer master file.

Report Subtitle

Constant; Value is always Life Cycle Volume Analysis—Acquirer.

Run Date

Current processing date.

Page

Incremental number starting at 1 for each new ICA number/customer ID.

Period From

The specific beginning and end dates of the reporting month.

Year-to-date

Calendar year to date beginning with January through the current reporting month.

Transactions

The count of transactions.

Dollar Amount

The dollar amount corresponding to the specified transactions.

Financial Detail Debits

Total number and associated dollar volume of First Presentment/ 1240-200 non-reversal debit messages.

Financial Detail Debit Reversals

Total number and associated dollar volume of First Presentment/ 1240-200 reversal debit messages.

Financial Detail Credits

Total number and associated dollar volume of First Presentment/ 1240-200 non-reversal credit messages.

Financial Detail Credit Reversals

Total number and associated dollar volume of First Presentment/ 1240-200 credit reversal messages.

* Net Total (Transactions)

Debits + credits - debit reversals - credit reversals.

* Net Total (Dollar Volume)

Debits - credits - debit reversals + credit reversals.

Chargeback Debits

Total number and associated dollar volume of non-reversal debit First Chargeback/1442-450 (Full) and 1442-453 (Partial) and Arbitration Chargeback/1442–451 (Full) and 1442-454 (Partial) messages.

Chargeback Debit Reversals

Total number and associated dollar volume of reversal debit First Chargeback/1442-450 (Full) and 1442-453 (Partial), and Arbitration Chargeback/1442-451 (Full) and 1442-454 (Partial) messages.

Chargeback Credits

Total number and associated dollar volume of non-reversal credit First Chargeback/1442-450 (Full) and 1442-453 (Partial) and Arbitration Chargeback/1442-451 (Full) and 1442-454 (Partial) messages.

Chargeback Credit Reversals

Total number and associated dollar volume of credit reversal First Chargeback/1442-450 (Full) and 1442-453 (Partial) and Arbitration Chargeback/1442-451 (Full) and 1442-454 (Partial) messages.

Representment Debits

Total number and associated dollar volume of non-reversal debit Second Presentment/1240-205 (Full) and 1240-282 (Partial) messages.

Representment Debit Reversals

Total number and associated dollar volume of reversal debit Second Presentment/1240-205 (Full) and 1240-282 (Partial) messages.

Representment Credits

Total number and associated dollar volume of non-reversal credit Second Presentment/1240-205 (Full) and 1240-282 (Partial) messages.

Representment Credit Reversals

Total number and associated dollar volume of reversal credit Second Presentment/1240–205 (Full) and 1240–282 (Partial) messages.

Retrieval Requests

Total number and associated dollar volume of non-reversal Retrieval Request/1644-603 messages.

Retrieval Request Reversals

Total number and associated dollar volume of reversal Second presentment/1240-205 (Full) and 1240-282 (Partial) messages.

Retrieval Request Fulfillments

Total number and associated dollar volume of non-reversal MasterCom and manual (non-MasterCom) fulfillment activity.

Retrieval Request Fulfillment Reversals T

Total number and associated dollar volume of reversal MasterCom and manual (non-MasterCom) fulfillment activity.

7.2.14. Clearing_Detail

A report generated by Mastercard has introduced a new Clearing Detail File (IP755120-AA) to facilitate
acquirer reconciliation. This file provides transaction level details from Global Clearing Management System for the acquirer,
including the currency conversion rate from the transaction amount to the acquirer reconciliation amount in DE 9(Conversion Rate, Reconciliation).
Table 195. CSV file structure
Path Description

transactionUuid

Transaction unique uuid in system

arn

Acquirer Reference Data

amount_transaction

Transaction Amount

currency_code_transaction

Transaction Currency Code

amount_reconciliation

Transaction Reconciliation Amount

currency_code_reconciliation

Transaction’s Reconciliation Currency Code

date_and_time_local_transaction

Transaction Local Date and Time

amount_fee

Transaction Amount Fee

currency_code_fee

Transaction Currency Code Fee

transaction_life_cycle_id

Transaction Life Cycle ID

report_occurred_on

Report date

reconciliation_conversion_rate

Reconciliation Conversion Rate

original_amount

Original Amount

currency_conversion_indicator

Currency Conversion Indicator

currency_conversion_date

Currency Conversion Date

data_record

Data Record

file_id

File ID

currency_code_original_transaction_amount

Currency Code Original Transaction Amount

transaction_destination_institution_id_code

Transaction Destination institution ID Code

transaction_originator_institution_id_code

Transaction Originator institution ID Code

7.3. VISA

The following reports are produced by VSS (Visa Settlement Service):

  • VSS-100-W - Weekly Settlement Reporting Hierarchy List

  • VSS-100-R - Revised Settlement Reporting Hierarchy List

  • VSS-110 - Settlement Summary Report

  • VSS-110-M - Monthly Settlement Summary Report

  • VSS-111 - Consolidated Settlement Summary Report

  • VSS-115 - SRE Settlement Recap Report

  • VSS-115-M - Monthly SRE Settlement Recap Report

  • VSS-116 - SRE Settlement Recap Report

  • VSS-116-M - Monthly SRE Settlement Recap Report

  • VSS-120 - Interchange Value Report

  • VSS-120-M - Monthly Interchange Value Report

  • VSS-130 - Reimbursement Fees Report

  • VSS-130-M - Monthly Reimbursement Fees Report

  • VSS-135 - Month-to-Date Reimbursement Fees Report

  • VSS-140 - Visa Charges Report

  • VSS-140-M - Monthly Visa Charges Report

  • VSS-210 - Currency Conversion Fees Report

  • VSS-210-M - Monthly Currency Conversion Fees Report

  • VSS-215 - International Service Assessment Report

  • VSS-215-M - Monthly International Service Assessment Report

  • VSS-230 - Visa Charges Reconciliation Report

  • VSS-300 - SRE Financial Recap Report

  • VSS-900 - Reconciliation Report

  • VSS-900-M - Monthly Reconciliation Report

  • VSS-900-P - Processor Reconciliation Report

  • VSS-900-PM - Monthly Processor Reconciliation Report

  • VSS-900-PS - Processor Summary Reconciliation Report

  • VSS-900-S - Summary Reconciliation Report

  • VSS-900-SM - Monthly Summary Reconciliation Report

  • VSS-900-XM - Monthly Processor Reconciliation Report

7.3.1. VSS-100-W

VSS-100-W - Weekly Settlement Reporting Hierarchy List

This report provides a listing of the settlement hierarchy for the given SRE.
This report lists the portion of the settlement hierarchy for the reporting for SRE and all SREs below it.
It shows the hierarchy of all the subordinate SREs whose totals are rolled up to the reports for the reporting for SRE.
The report also shows the clearing entities that point to each lowest-level SRE.
Table 196. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported. For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This is the identifier for the SRE being reported upon.

Settlement Service Identifier

This field contains the 3-digit code which identifies the settlement service used.

Report Date

This field contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

SRE Level Number

This field indicates the level of the subordinate SRE described by this record in relation to the Reporting for SRE. The possible values are 1 through 8.
- A value of 1 indicates that this SRE is the Reporting for SRE
- A value of 2 indicates that this SRE is directly subordinate to the Reporting for SRE
- A value of 3 indicates that this SRE is directly subordinate to the previous level 2 subordinate SRE
- The maximum value is 8. This indicates that this SRE is directly subordinate to the previous level 7 subordinate SRE

Last Change Date

This contains the date on which the contents of the report were last modified.
The format of this date is CCYYDDD, where CC is the century, YY is the year, and DDD is the Julian day. If the field is not applicable, it will contain spaces.

Report Identification Number

This field will contain the value 100.

Report Identification Suffix

This field contains a 'W' or 'R'.

Subordinate SRE Identifier

This contains the identifier of the SRE represented by this record. It can be either the Reporting for SRE itself or one of its subordinates. The SRE Level Number field indicates the level in the reporting hierarchy for this SRE.

Subordinate SRE Name

This contains the name corresponding to the subordinate SRE Identifier.

Funds Transfer Indicator

This contains a 'Y' if the subordinate SRE is a funds transfer SRE or an 'N' if the subordinate SRE is not a funds transfer SRE.

Clearing Entity Identifier Type

The possible values for this field are:
A = Card account range
B = BIN
P = Processor charges SRE
Space when the Processor Specified Indicator contains an 'N'.

Clearing Entity Identifier 1

The possible values for this field are:
- Starting value for a card account range if the Clearing Entity Identifier Type contains an 'A'
- BIN number in the last six digits if the Clearing Entity Identifier Type contains a 'B'
- This field will contain a space when the Clearing Entity Identifier Type contains a 'P'

Clearing Entity Identifier 2

The possible values for this field are:
- Ending value for a card account range if the Clearing Entity Identifier Type contains an 'A'
- Space if the Clearing Entity Identifier Type contains a 'B'

Processor Specified Indicator

This field contains a 'Y' if the Processor Identifier is specified or an 'N' if the Processor Identifier is not specified.

Processor Identifier

When the Processor Specified Indicator field contains a 'Y', this field contains the Processor identifier used to match transactions to this subordinate SRE. Otherwise, this field contains a space.

Network Specified Indicator

This field contains a 'Y' if the Network Identifier is specified or an 'N' if the Network Identifier is not specified.

Network Identifier

When the Network Specified Indicator field contains a 'Y', this field contains the network identifier used to match transactions to this subordinate SRE. Otherwise, this field contains a space.
When this field contains all 9s, network = ALL will be displayed on the report. This condition occurs when no specific network was specified when the SRE was established.

Settlement Currency

This field contains the Settlement Currency (unpacked numeric).

Transaction Currency Acquirer Perspective

This field will contain Transaction Currency from the Acquirer perspective. If no Transaction Currency has been specified, this field will contain spaces.

Transaction Currency Issuer Perspective

This field will contain Transaction Currency from the Issuer perspective. If no Issuer Transaction Currency is specified, this field will contain spaces.

7.3.2. VSS-100-R

VSS-100-R - Revised Settlement Reporting Hierarchy List

This report provides a listing of the settlement hierarchy for the given SRE.
This report lists the portion of the settlement hierarchy for the reporting for SRE and all SREs below it. It is produced when one or more of the following fields in the VSS
hierarchy changes or a Member implements VSS:
-Settlement Reporting Hierarchy (SRE added or deleted)
-Settlement Reporting Entity Name
-Funds Transfer
-Clearing Entity ID
-Processor ID
-Network ID
-Transaction Currency
It shows the hierarchy of all the subordinate SREs whose totals are rolled up to the reports for the reporting for SRE. The report also shows the
clearing entities that point to each lowest-level SRE.
Table 197. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported. For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This is the identifier for the SRE being reported upon.

Settlement Service Identifier

This field contains the 3-digit code which identifies the settlement service used.

Report Date

This field contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

SRE Level Number

This field indicates the level of the subordinate SRE described by this record in relation to the Reporting for SRE. The possible values are 1 through 8.
- A value of 1 indicates that this SRE is the Reporting for SRE
- A value of 2 indicates that this SRE is directly subordinate to the Reporting for SRE
- A value of 3 indicates that this SRE is directly subordinate to the previous level 2 subordinate SRE
- The maximum value is 8. This indicates that this SRE is directly subordinate to the previous level 7 subordinate SRE

Last Change Date

This contains the date on which the contents of the report were last modified.
The format of this date is CCYYDDD, where CC is the century, YY is the year, and DDD is the Julian day. If the field is not applicable, it will contain spaces.

Report Identification Number

This field will contain the value 100.

Report Identification Suffix

This field contains a 'W' or 'R'.

Subordinate SRE Identifier

This contains the identifier of the SRE represented by this record. It can be either the Reporting for SRE itself or one of its subordinates. The SRE Level Number field indicates the level in the reporting hierarchy for this SRE.

Subordinate SRE Name

This contains the name corresponding to the subordinate SRE Identifier.

Funds Transfer Indicator

This contains a 'Y' if the subordinate SRE is a funds transfer SRE or an 'N' if the subordinate SRE is not a funds transfer SRE.

Clearing Entity Identifier Type

The possible values for this field are:
A = Card account range
B = BIN
P = Processor charges SRE
Space when the Processor Specified Indicator contains an 'N'.

Clearing Entity Identifier 1

The possible values for this field are:
- Starting value for a card account range if the Clearing Entity Identifier Type contains an 'A'
- BIN number in the last six digits if the Clearing Entity Identifier Type contains a 'B'
- This field will contain a space when the Clearing Entity Identifier Type contains a 'P'

Clearing Entity Identifier 2

The possible values for this field are:
- Ending value for a card account range if the Clearing Entity Identifier Type contains an 'A'
- Space if the Clearing Entity Identifier Type contains a 'B'

Processor Specified Indicator

This field contains a 'Y' if the Processor Identifier is specified or an 'N' if the Processor Identifier is not specified.

Processor Identifier

When the Processor Specified Indicator field contains a 'Y', this field contains the Processor identifier used to match transactions to this subordinate SRE. Otherwise, this field contains a space.

Network Specified Indicator

This field contains a 'Y' if the Network Identifier is specified or an 'N' if the Network Identifier is not specified.

Network Identifier

When the Network Specified Indicator field contains a 'Y', this field contains the network identifier used to match transactions to this subordinate SRE. Otherwise, this field contains a space.
When this field contains all 9s, network = ALL will be displayed on the report. This condition occurs when no specific network was specified when the SRE was established.

Settlement Currency

This field contains the Settlement Currency (unpacked numeric).

Transaction Currency Acquirer Perspective

This field will contain Transaction Currency from the Acquirer perspective. If no Transaction Currency has been specified, this field will contain spaces.

Transaction Currency Issuer Perspective

This field will contain Transaction Currency from the Issuer perspective. If no Issuer Transaction Currency is specified, this field will contain spaces.

7.3.3. VSS-110

VSS-110 - Settlement Summary Report

This report provides the summarised totals of the Interchange value, reimbursement fees and Visa charges for the reporting for SRE.
Credit, debit, and net amounts are shown for Interchange, reimbursement fees, and Visa charges for each business mode. The funds transfer
amount is indicated at the top of the report if reporting is for a funds transfer SRE.
Table 198. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported. For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup to SRE Identifier

This field will contain the identifier for the SRE which is directly superior to the Reporting for SRE in the settlement hierarchy. If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity.
Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency code in which amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals. If the No Data Indicator = Y, this field will contain spaces.

No Data Indicator

The possible values for this field are 'Y' (if there is no data for this report) or space.

Report Identification Number

This field will contain 110 or 111.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains spaces. If the Report Identification field contains 111 and the No Data field contains 'Y', this field contains zeros.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

This field contains the starting range for information on the report when the Report Identification Suffix contains an 'M' or the Report Identification Number is 111. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the No Data field contains 'Y', this field contains spaces or '9999000'.

To Date

When the Report Identification Suffix contains an 'M' or the Report Identification Number contains 111, this contains the ending range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day. If the Report Identification field contains 111 and the No Data field contains 'Y', this field will contain zeros.
Otherwise, this field contains a space.

Amount Type

When the Report Identification Number is 110, the possible values for this field are:
I = Interchange
F = Reimbursement Fees
C = Visa Charges
T = Total
When the Report Identification Number is 111, the possible values for this field are:
Space = Daily Settlement Position
T = Total
This code designates the type of value contained in the Credit Amount, Debit Amount, and Net Amount fields. If the No Data Indicator = Y, this field will contain a space.

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the Credit Amount, Debit Amount, and Net Amount fields. If the No Data Indicator = 'Y', or if the Report Identification Number field contains 111, this field will contain spaces.

Count

When the Amount Type contains an 'I', this field contains the Interchange transaction count corresponding to Business Mode.
Otherwise, this field contains a space.
If the No Data Indicator = 'Y', or if the Report Identification Number field contains 111 , this field will contain spaces.

Credit Amount

This field contains the Credit Amount corresponding to the Amount Type and Business Mode.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = 'Y', or if the Report Identification Number field contains 111, this field will contain spaces.

Debit Amount

This field contains the Debit Amount corresponding to the Amount Type and Business Mode.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = 'Y', or if the Report Identification Number field contains 111, this field will contain spaces.

Net Amount

This field contains the net of the credit amount minus the debit amount.
If the Amount Type = 'T' and the Business Mode = 9, this field contains the net Settlement Amount for the Reporting for SRE.
If the Report Identification Number is 111, this field contains the net settlement position.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = 'Y', this field will contain spaces.

Net Amount Sign

The Net Amount Sign is DB for debit or CR for credit.
If Net Amount contains zeros, or spaces, this field will contain spaces.
If the No Data Indicator = 'Y', this field will contain spaces.

Funds-Transfer Date

If the Report Identification Number is '111' and the amount type is space and the No Data field is space, this contains the Funds Transfer date. The format of the date is CCYYDDD where CC is the century, YY is the year and DDD is the Julian day.
If the Report Identification Number is '110' or if the Report Identification Number is '111' and amount type is 'T', this field contains spaces.

7.3.4. VSS-110-M

VSS-110-M - Monthly Settlement Summary Report

This report is the monthly version of the VSS-110 report.
The fields on this report are the same as those shown on the VSS-110 report.
The From and To dates in the report heading indicate the first and the last days of the month for which the data was accumulated.
Table 199. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported. For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup to SRE Identifier

This field will contain the identifier for the SRE which is directly superior to the Reporting for SRE in the settlement hierarchy. If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity.
Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency code in which amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals. If the No Data Indicator = Y, this field will contain spaces.

No Data Indicator

The possible values for this field are 'Y' (if there is no data for this report) or space.

Report Identification Number

This field will contain 110 or 111.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains spaces. If the Report Identification field contains 111 and the No Data field contains 'Y', this field contains zeros.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

This field contains the starting range for information on the report when the Report Identification Suffix contains an 'M' or the Report Identification Number is 111. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the No Data field contains 'Y', this field contains spaces or '9999000'.

To Date

When the Report Identification Suffix contains an 'M' or the Report Identification Number contains 111, this contains the ending range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day. If the Report Identification field contains 111 and the No Data field contains 'Y', this field will contain zeros.
Otherwise, this field contains a space.

Amount Type

When the Report Identification Number is 110, the possible values for this field are:
I = Interchange
F = Reimbursement Fees
C = Visa Charges
T = Total
When the Report Identification Number is 111, the possible values for this field are:
Space = Daily Settlement Position
T = Total
This code designates the type of value contained in the Credit Amount, Debit Amount, and Net Amount fields. If the No Data Indicator = Y, this field will contain a space.

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the Credit Amount, Debit Amount, and Net Amount fields. If the No Data Indicator = 'Y', or if the Report Identification Number field contains 111, this field will contain spaces.

Count

When the Amount Type contains an 'I', this field contains the Interchange transaction count corresponding to Business Mode.
Otherwise, this field contains a space.
If the No Data Indicator = 'Y', or if the Report Identification Number field contains 111 , this field will contain spaces.

Credit Amount

This field contains the Credit Amount corresponding to the Amount Type and Business Mode.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = 'Y', or if the Report Identification Number field contains 111, this field will contain spaces.

Debit Amount

This field contains the Debit Amount corresponding to the Amount Type and Business Mode.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = 'Y', or if the Report Identification Number field contains 111, this field will contain spaces.

Net Amount

This field contains the net of the credit amount minus the debit amount.
If the Amount Type = 'T' and the Business Mode = 9, this field contains the net Settlement Amount for the Reporting for SRE.
If the Report Identification Number is 111, this field contains the net settlement position.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = 'Y', this field will contain spaces.

Net Amount Sign

The Net Amount Sign is DB for debit or CR for credit.
If Net Amount contains zeros, or spaces, this field will contain spaces.
If the No Data Indicator = 'Y', this field will contain spaces.

Funds-Transfer Date

If the Report Identification Number is '111' and the amount type is space and the No Data field is space, this contains the Funds Transfer date. The format of the date is CCYYDDD where CC is the century, YY is the year and DDD is the Julian day.
If the Report Identification Number is '110' or if the Report Identification Number is '111' and amount type is 'T', this field contains spaces.

7.3.5. VSS-111

VSS-111 - Consolidated Settlement Summary Report

This report provides funds transfer net Settlement Amounts from VSS-110s for a consolidated period.
This report lists net Settlement Amounts of funds transfer dates for the period for which funds are consolidated.
Table 200. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported. For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup to SRE Identifier

This field will contain the identifier for the SRE which is directly superior to the Reporting for SRE in the settlement hierarchy. If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity.
Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency code in which amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals. If the No Data Indicator = Y, this field will contain spaces.

No Data Indicator

The possible values for this field are 'Y' (if there is no data for this report) or space.

Report Identification Number

This field will contain 110 or 111.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains spaces. If the Report Identification field contains 111 and the No Data field contains 'Y', this field contains zeros.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

This field contains the starting range for information on the report when the Report Identification Suffix contains an 'M' or the Report Identification Number is 111. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the No Data field contains 'Y', this field contains spaces or '9999000'.

To Date

When the Report Identification Suffix contains an 'M' or the Report Identification Number contains 111, this contains the ending range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day. If the Report Identification field contains 111 and the No Data field contains 'Y', this field will contain zeros.
Otherwise, this field contains a space.

Amount Type

When the Report Identification Number is 110, the possible values for this field are:
I = Interchange
F = Reimbursement Fees
C = Visa Charges
T = Total
When the Report Identification Number is 111, the possible values for this field are:
Space = Daily Settlement Position
T = Total
This code designates the type of value contained in the Credit Amount, Debit Amount, and Net Amount fields. If the No Data Indicator = Y, this field will contain a space.

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the Credit Amount, Debit Amount, and Net Amount fields. If the No Data Indicator = 'Y', or if the Report Identification Number field contains 111, this field will contain spaces.

Count

When the Amount Type contains an 'I', this field contains the Interchange transaction count corresponding to Business Mode.
Otherwise, this field contains a space.
If the No Data Indicator = 'Y', or if the Report Identification Number field contains 111 , this field will contain spaces.

Credit Amount

This field contains the Credit Amount corresponding to the Amount Type and Business Mode.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = 'Y', or if the Report Identification Number field contains 111, this field will contain spaces.

Debit Amount

This field contains the Debit Amount corresponding to the Amount Type and Business Mode.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = 'Y', or if the Report Identification Number field contains 111, this field will contain spaces.

Net Amount

This field contains the net of the credit amount minus the debit amount.
If the Amount Type = 'T' and the Business Mode = 9, this field contains the net Settlement Amount for the Reporting for SRE.
If the Report Identification Number is 111, this field contains the net settlement position.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = 'Y', this field will contain spaces.

Net Amount Sign

The Net Amount Sign is DB for debit or CR for credit.
If Net Amount contains zeros, or spaces, this field will contain spaces.
If the No Data Indicator = 'Y', this field will contain spaces.

Funds-Transfer Date

If the Report Identification Number is '111' and the amount type is space and the No Data field is space, this contains the Funds Transfer date. The format of the date is CCYYDDD where CC is the century, YY is the year and DDD is the Julian day.
If the Report Identification Number is '110' or if the Report Identification Number is '111' and amount type is 'T', this field contains spaces.

7.3.6. VSS-115

VSS-115 - SRE Settlement Recap Report

This report provides the summarised totals of the Interchange value, reimbursement fees, and Visa charges for the reporting for SRE.
This report contains a summarisation of all transactions grouped as follows:
-Original transactions by business transaction type (includes returns)
-Reversals
-Chargebacks
-Representments
-Adjustments
In addition, fees and charges are summarised on this report. Information on this report is summarised by business mode (Acquirer, Issuer,
other).
Table 201. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup To SRE Identifier

This field will contain the identifier for the SRE which is directly superior to the Reporting for SRE in the settlement hierarchy.
If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When the funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity.
Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency in which amounts are reported.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Amount Type

The possible values for this field are:
I = Interchange
F = Reimbursement Fees
C = Visa charges
T = Total
This code designates the type of value contained in the Cred

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the Credit Amount, Debit Amount and Net Amount fields.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.

Summary Level

This field is only applicable when report identification number is 116, when it is not 116, the field will be space. The possible values for this field are:
1 = Reimbursement fees by jurisdiction
9 = Total reimbursement fees

Jurisdiction

This field is only applicable when report identification number is 116, when it is not 116, the field will be space. The field contains the jurisdiction code of the fees reported.

Report Identification Number

This field will contain the value 115 or 116.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this field contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains a space.

Report Date

This field contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day. Otherwise, this field contains a space.

To Date

When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day. Otherwise, this field contains a space.

Business Transaction Type

This field contains the Business Transaction Type.
If the No Data Indicator = Y, this field will contain a space.
If the Amount Type = T, this field will contain a space.

Business Transaction Cycle

This field contains the Business Transaction Cycle.
If the No Data Indicator = Y, this field will contain a space.
If the Amount Type = T, this field will contain a space.

Reversal Indicator

Possible values for this field are 'Y' or 'N'.
If the No Data Indicator = Y, this field will contain a space.
If the Amount Type = T, this field will contain a space.

Credits Count

This field contains the count of Credit Transactions for the corresponding Business Mode when Amount Type = I (Interchange).
If the No Data Indicator = Y, this field will contain a space.

Credits Amount

This field contains the amount for Credit Transactions for the corresponding Business Mode and Amount Type.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Debits Count

This field contains the count of Debit Transactions for the corresponding Business Mode when Amount Type = I (Interchange).
If the No Data Indicator = Y, this field will contain a space.

Debits Amount

This field contains the amount for Debit Transactions for the corresponding Business Mode and Amount Type.
The number of decimal places depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Total Amount

This field contains the total amount for the corresponding Business Mode and Amount Type.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Total Amount Sign

The Total Amount Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.

7.3.7. VSS-115-M

VSS-115-M - Monthly SRE Settlement Recap Report

This report is the monthly version of the VSS-115 report.
The fields on this report are the same as those shown on the VSS-115 report.
The From and To dates in the report heading indicate the first and the last days of the month for which the data was accumulated.
Table 202. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup To SRE Identifier

This field will contain the identifier for the SRE which is directly superior to the Reporting for SRE in the settlement hierarchy.
If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When the funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity.
Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency in which amounts are reported.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Amount Type

The possible values for this field are:
I = Interchange
F = Reimbursement Fees
C = Visa charges
T = Total
This code designates the type of value contained in the Cred

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the Credit Amount, Debit Amount and Net Amount fields.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.

Summary Level

This field is only applicable when report identification number is 116, when it is not 116, the field will be space. The possible values for this field are:
1 = Reimbursement fees by jurisdiction
9 = Total reimbursement fees

Jurisdiction

This field is only applicable when report identification number is 116, when it is not 116, the field will be space. The field contains the jurisdiction code of the fees reported.

Report Identification Number

This field will contain the value 115 or 116.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this field contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains a space.

Report Date

This field contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day. Otherwise, this field contains a space.

To Date

When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day. Otherwise, this field contains a space.

Business Transaction Type

This field contains the Business Transaction Type.
If the No Data Indicator = Y, this field will contain a space.
If the Amount Type = T, this field will contain a space.

Business Transaction Cycle

This field contains the Business Transaction Cycle.
If the No Data Indicator = Y, this field will contain a space.
If the Amount Type = T, this field will contain a space.

Reversal Indicator

Possible values for this field are 'Y' or 'N'.
If the No Data Indicator = Y, this field will contain a space.
If the Amount Type = T, this field will contain a space.

Credits Count

This field contains the count of Credit Transactions for the corresponding Business Mode when Amount Type = I (Interchange).
If the No Data Indicator = Y, this field will contain a space.

Credits Amount

This field contains the amount for Credit Transactions for the corresponding Business Mode and Amount Type.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Debits Count

This field contains the count of Debit Transactions for the corresponding Business Mode when Amount Type = I (Interchange).
If the No Data Indicator = Y, this field will contain a space.

Debits Amount

This field contains the amount for Debit Transactions for the corresponding Business Mode and Amount Type.
The number of decimal places depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Total Amount

This field contains the total amount for the corresponding Business Mode and Amount Type.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Total Amount Sign

The Total Amount Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.

7.3.8. VSS-116

VSS-116 - SRE Settlement Recap Report

This report provides the summarised totals of the Interchange value, reimbursement fees, and Visa charges for the Reporting for SRE.
This report contains a summarisation of all transactions grouped as follows:
-Original transactions by business transaction type (includes returns)
-Reversals
-Chargebacks
-Representments
-Adjustments
In addition, fees and charges are summarised on this report. Information on this report is summarised by business mode (Acquirer, Issuer,
other).
Table 203. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup To SRE Identifier

This field will contain the identifier for the SRE which is directly superior to the Reporting for SRE in the settlement hierarchy.
If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When the funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity.
Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency in which amounts are reported.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Amount Type

The possible values for this field are:
I = Interchange
F = Reimbursement Fees
C = Visa charges
T = Total
This code designates the type of value contained in the Cred

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the Credit Amount, Debit Amount and Net Amount fields.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.

Summary Level

This field is only applicable when report identification number is 116, when it is not 116, the field will be space. The possible values for this field are:
1 = Reimbursement fees by jurisdiction
9 = Total reimbursement fees

Jurisdiction

This field is only applicable when report identification number is 116, when it is not 116, the field will be space. The field contains the jurisdiction code of the fees reported.

Report Identification Number

This field will contain the value 115 or 116.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this field contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains a space.

Report Date

This field contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day. Otherwise, this field contains a space.

To Date

When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day. Otherwise, this field contains a space.

Business Transaction Type

This field contains the Business Transaction Type.
If the No Data Indicator = Y, this field will contain a space.
If the Amount Type = T, this field will contain a space.

Business Transaction Cycle

This field contains the Business Transaction Cycle.
If the No Data Indicator = Y, this field will contain a space.
If the Amount Type = T, this field will contain a space.

Reversal Indicator

Possible values for this field are 'Y' or 'N'.
If the No Data Indicator = Y, this field will contain a space.
If the Amount Type = T, this field will contain a space.

Credits Count

This field contains the count of Credit Transactions for the corresponding Business Mode when Amount Type = I (Interchange).
If the No Data Indicator = Y, this field will contain a space.

Credits Amount

This field contains the amount for Credit Transactions for the corresponding Business Mode and Amount Type.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Debits Count

This field contains the count of Debit Transactions for the corresponding Business Mode when Amount Type = I (Interchange).
If the No Data Indicator = Y, this field will contain a space.

Debits Amount

This field contains the amount for Debit Transactions for the corresponding Business Mode and Amount Type.
The number of decimal places depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Total Amount

This field contains the total amount for the corresponding Business Mode and Amount Type.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Total Amount Sign

The Total Amount Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.

7.3.9. VSS-116-M

VSS-116-M - Monthly SRE Settlement Recap Report

This report is the monthly version of the VSS-116 report.
The fields on this report are the same as those shown on the VSS-116 report.
The From and To dates in the report heading indicate the first and the last days of the month for which the data was accumulated.
Table 204. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup To SRE Identifier

This field will contain the identifier for the SRE which is directly superior to the Reporting for SRE in the settlement hierarchy.
If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When the funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity.
Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency in which amounts are reported.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Amount Type

The possible values for this field are:
I = Interchange
F = Reimbursement Fees
C = Visa charges
T = Total
This code designates the type of value contained in the Cred

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the Credit Amount, Debit Amount and Net Amount fields.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.

Summary Level

This field is only applicable when report identification number is 116, when it is not 116, the field will be space. The possible values for this field are:
1 = Reimbursement fees by jurisdiction
9 = Total reimbursement fees

Jurisdiction

This field is only applicable when report identification number is 116, when it is not 116, the field will be space. The field contains the jurisdiction code of the fees reported.

Report Identification Number

This field will contain the value 115 or 116.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this field contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains a space.

Report Date

This field contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day. Otherwise, this field contains a space.

To Date

When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day. Otherwise, this field contains a space.

Business Transaction Type

This field contains the Business Transaction Type.
If the No Data Indicator = Y, this field will contain a space.
If the Amount Type = T, this field will contain a space.

Business Transaction Cycle

This field contains the Business Transaction Cycle.
If the No Data Indicator = Y, this field will contain a space.
If the Amount Type = T, this field will contain a space.

Reversal Indicator

Possible values for this field are 'Y' or 'N'.
If the No Data Indicator = Y, this field will contain a space.
If the Amount Type = T, this field will contain a space.

Credits Count

This field contains the count of Credit Transactions for the corresponding Business Mode when Amount Type = I (Interchange).
If the No Data Indicator = Y, this field will contain a space.

Credits Amount

This field contains the amount for Credit Transactions for the corresponding Business Mode and Amount Type.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Debits Count

This field contains the count of Debit Transactions for the corresponding Business Mode when Amount Type = I (Interchange).
If the No Data Indicator = Y, this field will contain a space.

Debits Amount

This field contains the amount for Debit Transactions for the corresponding Business Mode and Amount Type.
The number of decimal places depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Total Amount

This field contains the total amount for the corresponding Business Mode and Amount Type.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Total Amount Sign

The Total Amount Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.

7.3.10. VSS-120

VSS-120 - Interchange Value Report

This report provides Interchange values in Settlement Currency.
This report lists the transactions by clearing currency and provides net totals by clearing currency. Summary totals in Settlement Currency are
provided across all clearing currencies. The report lists the currency rate table date of the applicable conversion rates for all reversals.
Table 205. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup To SRE Identifier

This field will contain the identifier for the SRE that is directly superior to the Reporting for SRE in the settlement hierarchy. If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity. Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency in which Settlement Amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts are reported.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the amount fields.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.
If the value is 'Y', no TCR 1 is produced for this report.

Report Identification Number

The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains zeros.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

To Date

When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

Charge Type Code

When the Report Identification Number contains 140 or 230, and the Summary Level contains 03, 04, 05, 06, 07, 08, 09, 10,or 011 (the new charge type code for ISA) this field contains the Charge Type Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Type

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 05, 06, 07, 08, 09, or 10 this field contains the Business Transaction Type.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10, this field contains the Business Transaction Cycle.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10.
Possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Return Indicator

When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Jurisdiction Code

When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Inter-regional Routing Indicator

When the Report Identification Number contains 130, 140 or 230 and Summary Level contains 09 or 10, the possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Source Country Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Destination Country Code

When the Report ID Number contains 130, 140 or 230 and the Inter-regional Routing Indicator is 'N', this field contains the destination country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Source Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Destination Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the destination region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Fee Level Descriptor

When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

CR/DB/NET Indicator

If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values:
C = Credit Line
D = Debit Line
N = Net Line
Otherwise, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Business Mode Total
02 = Business Mode Net
03 = Charge Type Total
04 = Charge Type Net
05 = Business Transaction Total
06 = Business Transaction Net
07 = Business Cycle Total
08 = Jurisdiction Total
09 = Routing Total
10 = Detail Total
11 = Final Total
12 = Final Net
If the No Data Indicator = Y, this field will contain a space.

Count

Count. Empty when field 'No Data Indicator' are 'Y'

Clearing Amount

Clearing Amount (Clearing Curr). Empty when field 'No Data Indicator' are 'Y'

Clearing Amount Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Interchange Value Credits

Interchange Value Credits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Interchange Value Credits Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Interchange Value Debits

Interchange Value Debits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Interchange Value Debits Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

7.3.11. VSS-120-M

VSS-120-M - Monthly Interchange Value Report

This report is the monthly version of the VSS-120 report.
The From and To dates that appear in the report heading indicate the first and last days of the month for which data was accumulated.
The fields on this report are the same as those shown on the VSS-120 report.
Table 206. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup To SRE Identifier

This field will contain the identifier for the SRE that is directly superior to the Reporting for SRE in the settlement hierarchy. If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity. Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency in which Settlement Amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts are reported.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the amount fields.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.
If the value is 'Y', no TCR 1 is produced for this report.

Report Identification Number

The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains zeros.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

To Date

When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

Charge Type Code

When the Report Identification Number contains 140 or 230, and the Summary Level contains 03, 04, 05, 06, 07, 08, 09, 10,or 011 (the new charge type code for ISA) this field contains the Charge Type Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Type

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 05, 06, 07, 08, 09, or 10 this field contains the Business Transaction Type.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10, this field contains the Business Transaction Cycle.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10.
Possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Return Indicator

When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Jurisdiction Code

When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Inter-regional Routing Indicator

When the Report Identification Number contains 130, 140 or 230 and Summary Level contains 09 or 10, the possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Source Country Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Destination Country Code

When the Report ID Number contains 130, 140 or 230 and the Inter-regional Routing Indicator is 'N', this field contains the destination country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Source Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Destination Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the destination region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Fee Level Descriptor

When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

CR/DB/NET Indicator

If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values:
C = Credit Line
D = Debit Line
N = Net Line
Otherwise, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Business Mode Total
02 = Business Mode Net
03 = Charge Type Total
04 = Charge Type Net
05 = Business Transaction Total
06 = Business Transaction Net
07 = Business Cycle Total
08 = Jurisdiction Total
09 = Routing Total
10 = Detail Total
11 = Final Total
12 = Final Net
If the No Data Indicator = Y, this field will contain a space.

Count

Count. Empty when field 'No Data Indicator' are 'Y'

Clearing Amount

Clearing Amount (Clearing Curr). Empty when field 'No Data Indicator' are 'Y'

Clearing Amount Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Interchange Value Credits

Interchange Value Credits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Interchange Value Credits Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Interchange Value Debits

Interchange Value Debits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Interchange Value Debits Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

7.3.12. VSS-130

VSS-130 - Reimbursement Fees Report

This report provides reimbursement fees information in Settlement Currency.
This report lists reimbursement fees by fee levels within routings and jurisdiction for each transaction type. The report sequence structure is as follows:
-Transaction
-Jurisdiction
-Routing
-Fee level
This report provides a summary of all reimbursement fees by business mode.
Table 207. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup To SRE Identifier

This field will contain the identifier for the SRE that is directly superior to the Reporting for SRE in the settlement hierarchy. If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity. Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency in which Settlement Amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts are reported.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the amount fields.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.
If the value is 'Y', no TCR 1 is produced for this report.

Report Identification Number

The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains zeros.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

To Date

When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

Charge Type Code

When the Report Identification Number contains 140 or 230, and the Summary Level contains 03, 04, 05, 06, 07, 08, 09, 10,or 011 (the new charge type code for ISA) this field contains the Charge Type Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Type

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 05, 06, 07, 08, 09, or 10 this field contains the Business Transaction Type.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10, this field contains the Business Transaction Cycle.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10.
Possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Return Indicator

When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Jurisdiction Code

When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Inter-regional Routing Indicator

When the Report Identification Number contains 130, 140 or 230 and Summary Level contains 09 or 10, the possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Source Country Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Destination Country Code

When the Report ID Number contains 130, 140 or 230 and the Inter-regional Routing Indicator is 'N', this field contains the destination country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Source Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Destination Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the destination region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Fee Level Descriptor

When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

CR/DB/NET Indicator

If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values:
C = Credit Line
D = Debit Line
N = Net Line
Otherwise, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Business Mode Total
02 = Business Mode Net
03 = Charge Type Total
04 = Charge Type Net
05 = Business Transaction Total
06 = Business Transaction Net
07 = Business Cycle Total
08 = Jurisdiction Total
09 = Routing Total
10 = Detail Total
11 = Final Total
12 = Final Net
If the No Data Indicator = Y, this field will contain a space.

Count

Count. Empty when field 'No Data Indicator' are 'Y'

Interchange Amount

Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Interchange Amount Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Reimbursement Fee Credits

Reimbursement Fee Credits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Reimbursement Fee Credits Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y

Reimbursement Fee Debits

Reimbursement Fee Debits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Reimbursement Fee Debits Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y

7.3.13. VSS-130-M

VSS-130-M - Monthly Reimbursement Fees Report

This report provides monthly reimbursement fees information in Settlement Currency.
The fields on this report are the same as those shown on the VSS-130 report.
The From and To dates in the report heading indicate the first and the last days of the month for which the data was accumulated.
Note: Transactions for which the Interchange Reimbursement Fee total is zero are sometimes reported on this report.
Table 208. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup To SRE Identifier

This field will contain the identifier for the SRE that is directly superior to the Reporting for SRE in the settlement hierarchy. If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity. Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency in which Settlement Amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts are reported.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the amount fields.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.
If the value is 'Y', no TCR 1 is produced for this report.

Report Identification Number

The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains zeros.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

To Date

When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

Charge Type Code

When the Report Identification Number contains 140 or 230, and the Summary Level contains 03, 04, 05, 06, 07, 08, 09, 10,or 011 (the new charge type code for ISA) this field contains the Charge Type Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Type

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 05, 06, 07, 08, 09, or 10 this field contains the Business Transaction Type.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10, this field contains the Business Transaction Cycle.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10.
Possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Return Indicator

When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Jurisdiction Code

When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Inter-regional Routing Indicator

When the Report Identification Number contains 130, 140 or 230 and Summary Level contains 09 or 10, the possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Source Country Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Destination Country Code

When the Report ID Number contains 130, 140 or 230 and the Inter-regional Routing Indicator is 'N', this field contains the destination country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Source Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Destination Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the destination region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Fee Level Descriptor

When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

CR/DB/NET Indicator

If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values:
C = Credit Line
D = Debit Line
N = Net Line
Otherwise, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Business Mode Total
02 = Business Mode Net
03 = Charge Type Total
04 = Charge Type Net
05 = Business Transaction Total
06 = Business Transaction Net
07 = Business Cycle Total
08 = Jurisdiction Total
09 = Routing Total
10 = Detail Total
11 = Final Total
12 = Final Net
If the No Data Indicator = Y, this field will contain a space.

Count

Count. Empty when field 'No Data Indicator' are 'Y'

Interchange Amount

Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Interchange Amount Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Reimbursement Fee Credits

Reimbursement Fee Credits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Reimbursement Fee Credits Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y

Reimbursement Fee Debits

Reimbursement Fee Debits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Reimbursement Fee Debits Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y

7.3.14. VSS-135

VSS-135 - Month-to-Date Reimbursement Fees Report

This report provides daily and month-to-date (MTD) reimbursement fees at the fee level.
This report lists daily and month-to-date reimbursement fees by fee level by business mode and jurisdiction.
Three lines are printed for each fee level. The first line shows credits, the second line shows debits, and the third line shows the net amount.
Interchange counts and amounts for the associated fees are also shown on this report.
Note: Transactions for which the Interchange Reimbursement Fee total is zero do not appear on this report.
Table 209. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup To SRE Identifier

This field will contain the identifier for the SRE that is directly superior to the Reporting for SRE in the settlement hierarchy. If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity. Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency in which Settlement Amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts are reported.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the amount fields.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.
If the value is 'Y', no TCR 1 is produced for this report.

Report Identification Number

The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains zeros.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

To Date

When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

Charge Type Code

When the Report Identification Number contains 140 or 230, and the Summary Level contains 03, 04, 05, 06, 07, 08, 09, 10,or 011 (the new charge type code for ISA) this field contains the Charge Type Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Type

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 05, 06, 07, 08, 09, or 10 this field contains the Business Transaction Type.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10, this field contains the Business Transaction Cycle.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10.
Possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Return Indicator

When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Jurisdiction Code

When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Inter-regional Routing Indicator

When the Report Identification Number contains 130, 140 or 230 and Summary Level contains 09 or 10, the possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Source Country Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Destination Country Code

When the Report ID Number contains 130, 140 or 230 and the Inter-regional Routing Indicator is 'N', this field contains the destination country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Source Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Destination Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the destination region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Fee Level Descriptor

When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

CR/DB/NET Indicator

If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values:
C = Credit Line
D = Debit Line
N = Net Line
Otherwise, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Business Mode Total
02 = Business Mode Net
03 = Charge Type Total
04 = Charge Type Net
05 = Business Transaction Total
06 = Business Transaction Net
07 = Business Cycle Total
08 = Jurisdiction Total
09 = Routing Total
10 = Detail Total
11 = Final Total
12 = Final Net
If the No Data Indicator = Y, this field will contain a space.

Daily Count

Daily Count. Empty when field 'No Data Indicator' are 'Y'

MTD Count

MTD 1 Count. Empty when field 'No Data Indicator' are 'Y'

Daily Interchange Amount

Daily Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Daily Interchange Amount Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

+Daily Reimbursement Fee +

Daily Reimbursement Fee (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Daily Reimbursement Fee Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

MTD Interchange Amount

MTD Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

MTD Interchange Amount Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

MTD Reimbursement Fees

MTD Reimbursement Fees (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

MTD Reimbursement Fees Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Daily Cash back Amount

Daily Cash back Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Daily Cash back Amount Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

MTD Cash back Amount

MTD Cash back Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

MTD Cash back Amount Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

7.3.15. VSS-140

VSS-140 - Visa Charges Report

All Visa charges are combined in one report. This report provides a summary of all charges by business mode.
This report provides details of all charges paid to Visa by Members and paid by Visa to Members. These charge types include:
-DMSC processing charges
-International acquiring fee
-Special airline fees
-Currency conversion fees
-Currency conversion fees allocations
-Returned item charges
-International Service Assessment
-International Service Assessment Allocation
-Cross-Border Service Assessment
Note: DMSC processing charges are not included when Members are in regions where DMSC processing charges are billed monthly using
the Integrated Billing Statement.
Table 210. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup To SRE Identifier

This field will contain the identifier for the SRE that is directly superior to the Reporting for SRE in the settlement hierarchy. If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity. Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency in which Settlement Amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts are reported.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the amount fields.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.
If the value is 'Y', no TCR 1 is produced for this report.

Report Identification Number

The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains zeros.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

To Date

When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

Charge Type Code

When the Report Identification Number contains 140 or 230, and the Summary Level contains 03, 04, 05, 06, 07, 08, 09, 10,or 011 (the new charge type code for ISA) this field contains the Charge Type Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Type

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 05, 06, 07, 08, 09, or 10 this field contains the Business Transaction Type.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10, this field contains the Business Transaction Cycle.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10.
Possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Return Indicator

When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Jurisdiction Code

When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Inter-regional Routing Indicator

When the Report Identification Number contains 130, 140 or 230 and Summary Level contains 09 or 10, the possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Source Country Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Destination Country Code

When the Report ID Number contains 130, 140 or 230 and the Inter-regional Routing Indicator is 'N', this field contains the destination country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Source Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Destination Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the destination region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Fee Level Descriptor

When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

CR/DB/NET Indicator

If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values:
C = Credit Line
D = Debit Line
N = Net Line
Otherwise, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Business Mode Total
02 = Business Mode Net
03 = Charge Type Total
04 = Charge Type Net
05 = Business Transaction Total
06 = Business Transaction Net
07 = Business Cycle Total
08 = Jurisdiction Total
09 = Routing Total
10 = Detail Total
11 = Final Total
12 = Final Net
If the No Data Indicator = Y, this field will contain a space.

Count

Count. Empty when field 'No Data Indicator' are 'Y'

Interchange Amount

Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Interchange Amount Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Visa Charges Credits

Visa Charges Credits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Visa Charges Credits Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Visa Charges Debits

Visa Charges Debits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Visa Charges Debits Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

7.3.16. VSS-140-M

VSS-140-M - Monthly Visa Charges Report

All Visa charges are combined in one report. This report provides a summary of all charges by business mode.
This report is the monthly version of the VSS-140 report. The From and To dates that appear in the report heading indicate the first and the last
days of the month for which data was accumulated. The fields on this report are the same as those shown on the VSS-140 report.
Table 211. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup To SRE Identifier

This field will contain the identifier for the SRE that is directly superior to the Reporting for SRE in the settlement hierarchy. If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity. Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency in which Settlement Amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts are reported.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the amount fields.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.
If the value is 'Y', no TCR 1 is produced for this report.

Report Identification Number

The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains zeros.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

To Date

When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

Charge Type Code

When the Report Identification Number contains 140 or 230, and the Summary Level contains 03, 04, 05, 06, 07, 08, 09, 10,or 011 (the new charge type code for ISA) this field contains the Charge Type Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Type

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 05, 06, 07, 08, 09, or 10 this field contains the Business Transaction Type.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10, this field contains the Business Transaction Cycle.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10.
Possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Return Indicator

When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Jurisdiction Code

When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Inter-regional Routing Indicator

When the Report Identification Number contains 130, 140 or 230 and Summary Level contains 09 or 10, the possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Source Country Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Destination Country Code

When the Report ID Number contains 130, 140 or 230 and the Inter-regional Routing Indicator is 'N', this field contains the destination country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Source Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Destination Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the destination region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Fee Level Descriptor

When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

CR/DB/NET Indicator

If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values:
C = Credit Line
D = Debit Line
N = Net Line
Otherwise, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Business Mode Total
02 = Business Mode Net
03 = Charge Type Total
04 = Charge Type Net
05 = Business Transaction Total
06 = Business Transaction Net
07 = Business Cycle Total
08 = Jurisdiction Total
09 = Routing Total
10 = Detail Total
11 = Final Total
12 = Final Net
If the No Data Indicator = Y, this field will contain a space.

Count

Count. Empty when field 'No Data Indicator' are 'Y'

Interchange Amount

Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Interchange Amount Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Visa Charges Credits

Visa Charges Credits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Visa Charges Credits Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Visa Charges Debits

Visa Charges Debits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Visa Charges Debits Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

7.3.17. VSS-210

VSS-210 - Currency Conversion Fees Report

This report provides reconciliation information to Issuers for the currency conversion fees and Optional Issuer Fees for incoming transactions.
Transactions are summarised by clearing currency, business transaction, and jurisdiction. This report provides conversion fees by clearing currency.
Table 212. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup To SRE Identifier

This field will contain the identifier for the SRE that is directly superior to the Reporting for SRE in the settlement hierarchy. If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity. Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency in which Settlement Amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts are reported.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the amount fields.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.
If the value is 'Y', no TCR 1 is produced for this report.

Report Identification Number

The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains zeros.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

To Date

When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

Charge Type Code

When the Report Identification Number contains 140 or 230, and the Summary Level contains 03, 04, 05, 06, 07, 08, 09, 10,or 011 (the new charge type code for ISA) this field contains the Charge Type Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Type

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 05, 06, 07, 08, 09, or 10 this field contains the Business Transaction Type.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10, this field contains the Business Transaction Cycle.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10.
Possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Return Indicator

When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Jurisdiction Code

When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Inter-regional Routing Indicator

When the Report Identification Number contains 130, 140 or 230 and Summary Level contains 09 or 10, the possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Source Country Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Destination Country Code

When the Report ID Number contains 130, 140 or 230 and the Inter-regional Routing Indicator is 'N', this field contains the destination country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Source Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Destination Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the destination region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Fee Level Descriptor

When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

CR/DB/NET Indicator

If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values:
C = Credit Line
D = Debit Line
N = Net Line
Otherwise, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Business Mode Total
02 = Business Mode Net
03 = Charge Type Total
04 = Charge Type Net
05 = Business Transaction Total
06 = Business Transaction Net
07 = Business Cycle Total
08 = Jurisdiction Total
09 = Routing Total
10 = Detail Total
11 = Final Total
12 = Final Net
If the No Data Indicator = Y, this field will contain a space.

Interchange Amount (Settlement Curr)

Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Interchange Amount Sign (Settlement Curr)

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Conversion Fee (Settlement Curr)

Conversion Fee (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Conversion Fee Sign (Settlement Curr)

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Interchange Amount (Clearing Curr)

Interchange Amount (Clearing Curr). Empty when field 'No Data Indicator' are 'Y'

Interchange Amount Sign (Clearing Curr)

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Conversion Fee (Clearing Curr)

Conversion Fee (Clearing Curr). Empty when field 'No Data Indicator' are 'Y'

Conversion Fee Sign (Clearing Curr)

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Optional Issuer Fee

Optional Issuer Fee (Clearing Curr). Empty when field 'No Data Indicator' are 'Y'

Optional Issuer Fee Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

7.3.18. VSS-210-M

VSS-210-M - Monthly Currency Conversion Fees Report

This report is the monthly version of the VSS-210.
The From and To dates that appear in the report heading indicate the first and the last days of the month for which data was accumulated.
The fields on this report are the same as those shown on the VSS-210 report.
Table 213. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup To SRE Identifier

This field will contain the identifier for the SRE that is directly superior to the Reporting for SRE in the settlement hierarchy. If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity. Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency in which Settlement Amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts are reported.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the amount fields.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.
If the value is 'Y', no TCR 1 is produced for this report.

Report Identification Number

The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains zeros.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

To Date

When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

Charge Type Code

When the Report Identification Number contains 140 or 230, and the Summary Level contains 03, 04, 05, 06, 07, 08, 09, 10,or 011 (the new charge type code for ISA) this field contains the Charge Type Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Type

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 05, 06, 07, 08, 09, or 10 this field contains the Business Transaction Type.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10, this field contains the Business Transaction Cycle.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10.
Possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Return Indicator

When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Jurisdiction Code

When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Inter-regional Routing Indicator

When the Report Identification Number contains 130, 140 or 230 and Summary Level contains 09 or 10, the possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Source Country Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Destination Country Code

When the Report ID Number contains 130, 140 or 230 and the Inter-regional Routing Indicator is 'N', this field contains the destination country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Source Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Destination Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the destination region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Fee Level Descriptor

When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

CR/DB/NET Indicator

If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values:
C = Credit Line
D = Debit Line
N = Net Line
Otherwise, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Business Mode Total
02 = Business Mode Net
03 = Charge Type Total
04 = Charge Type Net
05 = Business Transaction Total
06 = Business Transaction Net
07 = Business Cycle Total
08 = Jurisdiction Total
09 = Routing Total
10 = Detail Total
11 = Final Total
12 = Final Net
If the No Data Indicator = Y, this field will contain a space.

7.3.19. VSS-215

VSS-215 - International Service Assessment Report

This report provides reconciliation information to Issuers for the International Service Assessment charges and optional ISA fees for incoming  transactions.
Transactions are summarised by clearing currency, business transaction type, and jurisdiction. The report provides International Service
Assessment charge by clearing currency. The Interchange amounts are shown in both Settlement Currency and clearing currency.
The optional ISA fee is shown in clearing currency, if applicable.
Table 214. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup To SRE Identifier

This field will contain the identifier for the SRE that is directly superior to the Reporting for SRE in the settlement hierarchy. If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity. Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency in which Settlement Amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts are reported.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the amount fields.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.
If the value is 'Y', no TCR 1 is produced for this report.

Report Identification Number

The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains zeros.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

To Date

When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

Charge Type Code

When the Report Identification Number contains 140 or 230, and the Summary Level contains 03, 04, 05, 06, 07, 08, 09, 10,or 011 (the new charge type code for ISA) this field contains the Charge Type Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Type

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 05, 06, 07, 08, 09, or 10 this field contains the Business Transaction Type.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10, this field contains the Business Transaction Cycle.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10.
Possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Return Indicator

When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Jurisdiction Code

When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Inter-regional Routing Indicator

When the Report Identification Number contains 130, 140 or 230 and Summary Level contains 09 or 10, the possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Source Country Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Destination Country Code

When the Report ID Number contains 130, 140 or 230 and the Inter-regional Routing Indicator is 'N', this field contains the destination country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Source Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Destination Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the destination region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Fee Level Descriptor

When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

CR/DB/NET Indicator

If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values:
C = Credit Line
D = Debit Line
N = Net Line
Otherwise, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Business Mode Total
02 = Business Mode Net
03 = Charge Type Total
04 = Charge Type Net
05 = Business Transaction Total
06 = Business Transaction Net
07 = Business Cycle Total
08 = Jurisdiction Total
09 = Routing Total
10 = Detail Total
11 = Final Total
12 = Final Net
If the No Data Indicator = Y, this field will contain a space.

Interchange Amount (Settlement Curr)

Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Interchange Amount Sign (Settlement Curr)

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

International Service Assessment (Settlement Curr)

International Service Assessment (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

International Service Assessment Sign (Settlement Curr)

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Interchange Amount (Clearing Curr)

Interchange Amount (Clearing Curr). Empty when field 'No Data Indicator' are 'Y'

Interchange Amount Sign (Clearing Curr)

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

International Service Assessment (Clearing Curr)

International Service Assessment (Clearing Curr). Empty when field 'No Data Indicator' are 'Y'

International Service Assessment Sign (Clearing Curr)

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Optional ISA fee (Clearing Curr)

Optional ISA fee (Clearing Curr). Empty when field 'No Data Indicator' are 'Y'

Optional ISA fee Sign (Clearing Curr)

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

7.3.20. VSS-215-M

VSS-215-M - Monthly International Service Assessment Report

This report is the monthly version of the VSS-215 report.
The From and To dates that appear in the report heading indicate the first and the last days of the month for which data was accumulated.
Table 215. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup To SRE Identifier

This field will contain the identifier for the SRE that is directly superior to the Reporting for SRE in the settlement hierarchy. If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity. Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency in which Settlement Amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts are reported.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the amount fields.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.
If the value is 'Y', no TCR 1 is produced for this report.

Report Identification Number

The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains zeros.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

To Date

When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

Charge Type Code

When the Report Identification Number contains 140 or 230, and the Summary Level contains 03, 04, 05, 06, 07, 08, 09, 10,or 011 (the new charge type code for ISA) this field contains the Charge Type Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Type

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 05, 06, 07, 08, 09, or 10 this field contains the Business Transaction Type.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10, this field contains the Business Transaction Cycle.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10.
Possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Return Indicator

When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Jurisdiction Code

When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Inter-regional Routing Indicator

When the Report Identification Number contains 130, 140 or 230 and Summary Level contains 09 or 10, the possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Source Country Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Destination Country Code

When the Report ID Number contains 130, 140 or 230 and the Inter-regional Routing Indicator is 'N', this field contains the destination country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Source Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Destination Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the destination region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Fee Level Descriptor

When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

CR/DB/NET Indicator

If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values:
C = Credit Line
D = Debit Line
N = Net Line
Otherwise, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Business Mode Total
02 = Business Mode Net
03 = Charge Type Total
04 = Charge Type Net
05 = Business Transaction Total
06 = Business Transaction Net
07 = Business Cycle Total
08 = Jurisdiction Total
09 = Routing Total
10 = Detail Total
11 = Final Total
12 = Final Net
If the No Data Indicator = Y, this field will contain a space.

Interchange Amount (Settlement Curr)

Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Interchange Amount Sign (Settlement Curr)

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

International Service Assessment (Settlement Curr)

International Service Assessment (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

International Service Assessment Sign (Settlement Curr)

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Interchange Amount (Clearing Curr)

Interchange Amount (Clearing Curr). Empty when field 'No Data Indicator' are 'Y'

Interchange Amount Sign (Clearing Curr)

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

International Service Assessment (Clearing Curr)

International Service Assessment (Clearing Curr). Empty when field 'No Data Indicator' are 'Y'

International Service Assessment Sign (Clearing Curr)

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Optional ISA fee (Clearing Curr)

Optional ISA fee (Clearing Curr). Empty when field 'No Data Indicator' are 'Y'

Optional ISA fee Sign (Clearing Curr)

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

7.3.21. VSS-230

VSS-230 - Visa Charges Reconciliation Report

This report provides reconciliation of charges for transactions in a National Net Settlement service where the charges are settled through the  International Settlement Service.
This report is in the same format as the Visa Charges Report (VSS-140).
The fields on this report are the same as those shown on the VSS-140 report.
Note: The report shown on the next page is a sample of the VSS-230 report and does not reconcile to the other reports.
Table 216. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE being reported upon.

Rollup To SRE Identifier

This field will contain the identifier for the SRE that is directly superior to the Reporting for SRE in the settlement hierarchy. If the Reporting for SRE is the highest SRE in the settlement hierarchy, this field will contain the same value as the Reporting for SRE identifier.

Funds Transfer SRE Identifier

When funds transfer entity for the Reporting for SRE is the same as the Reporting for SRE or is at a level in the settlement hierarchy that is superior to the Reporting for SRE, this field will contain the SRE identifier for the funds transfer entity. Otherwise, this field contains a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.

Settlement Currency Code

This field contains the ISO numeric currency in which Settlement Amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts are reported.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the amount fields.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.
If the value is 'Y', no TCR 1 is produced for this report.

Report Identification Number

The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640.

Report Identification Suffix

The possible values for this field are space or 'M'.

Settlement Date

If the Report Identification Suffix contains a space, this contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
If the Report Identification Suffix contains an 'M', this field contains zeros.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

From Date

When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

To Date

When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report.
The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.
Otherwise, this field contains a space.

Charge Type Code

When the Report Identification Number contains 140 or 230, and the Summary Level contains 03, 04, 05, 06, 07, 08, 09, 10,or 011 (the new charge type code for ISA) this field contains the Charge Type Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Type

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 05, 06, 07, 08, 09, or 10 this field contains the Business Transaction Type.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10, this field contains the Business Transaction Cycle.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10.
Possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Return Indicator

When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Jurisdiction Code

When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Inter-regional Routing Indicator

When the Report Identification Number contains 130, 140 or 230 and Summary Level contains 09 or 10, the possible values for this field are 'Y' or 'N'. Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Source Country Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Destination Country Code

When the Report ID Number contains 130, 140 or 230 and the Inter-regional Routing Indicator is 'N', this field contains the destination country code.
Otherwise, this field contains a space.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Source Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Destination Region Code

When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the destination region code.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Fee Level Descriptor

When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

CR/DB/NET Indicator

If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values:
C = Credit Line
D = Debit Line
N = Net Line
Otherwise, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Business Mode Total
02 = Business Mode Net
03 = Charge Type Total
04 = Charge Type Net
05 = Business Transaction Total
06 = Business Transaction Net
07 = Business Cycle Total
08 = Jurisdiction Total
09 = Routing Total
10 = Detail Total
11 = Final Total
12 = Final Net
If the No Data Indicator = Y, this field will contain a space.

Count

Count. Empty when field 'No Data Indicator' are 'Y'

Interchange Amount

Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Interchange Amount Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Visa Charges Credits

Visa Charges Credits (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Visa Charges Credits Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

Visa Charges Debits

Visa Charges Debits (Settlement Curr). Empty when field 'No Data Indicator' are 'Y'

Visa Charges Debits Sign

The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y'

7.3.22. VSS-300

VSS-300 - SRE Financial Recap Report

This report provides the summarised totals of the Interchange value, reimbursement fees, and Visa charges for each SRE that is directly subordinate to the reporting for SRE.
Note that the recap is only provided for those SREs that are directly below the reporting for SRE.
Information about the existence of any SREs further down in the hierarchy may be obtained with the VSS-100-W or VSS-100-R report.
Separate detail lines are provided for Interchange value, reimbursement fees, and Visa charges.
Table 217. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent.
This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

This field contains the identifier for the SRE for which this report was requested.

Recap For SRE Identifier

This field contains the identifier of the SRE to which the data in this record corresponds.
This field contains a space if reporting SRE totals.

Settlement Service Identifier

This field contains the 3-digit code which identifies the Settlement Service used.

Settlement Currency Code

This field contains the ISO numeric currency in which amounts are reported.
Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

The possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
This code designates the type of value contained in the Total Interchange Value, Total Reimbursement Fees, Total Visa Charges, and Net Settlement Amount fields.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.

Report Identifier Number

The possible values for this field are: 300 and 320.

Report Identification Suffix

This field will contain a space.

Settlement Date

This field contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

Report Date

This field contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

Total Interchange Count

This field contains the Interchange transaction count corresponding to Business Mode.
If the No Data Indicator = Y, this field will contain a space.

Total Interchange Value

This field contains the Interchange amount corresponding to Business Mode.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Interchange Value Sign

The Interchange Value Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If Total Interchange Value contains zeros, this field will contain a space.

Total Reimbursement Fees

This field contains the reimbursement fees corresponding to Business Mode.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Reimbursement Fees Sign

The Reimbursement Fees Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If Total Reimbursement Fees contains zeros, this field will contain a space.

Total Visa Charges

This field contains the Visa charges corresponding to Business Mode. The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Visa Charges Sign

The Visa Charges Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If Total Visa Charges contains zeros, this field will contain a space.

Net Settlement Amount

This field contains the net Settlement Amount corresponding to Business Mode.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Net Settlement Amount Sign

The Net Settlement Amount Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If Total Net Settlement Amount contains zeros, this field will contain a space.

Summary Level

The possible values of this field are: 01, 02, 11, and 12.
01 = Business Mode Total.
02 = Business Mode Net.
11 = Final Total.
12 = Final Net.
01 and 02 are SRE data recap.
11 and 12 are reporting SRE data totals.

7.3.23. VSS-900

VSS-900 - Reconciliation Repor

This report provides the totals of the transaction count and clearing amount for each SRE by clearing currency, business mode, and business transaction type.
Table 218. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

When the Report ID Suffix is space or 'S', this is the identifier for the SRE for which this report was requested. Otherwise, this field contains a space.

Processor Identifier

When the Report ID Suffix is 'P' or 'PS', this is the identifier for the Processor for which this report was requested. Otherwise, this field contains a space.

Clearing BIN

When the Report Identifier Suffix contains 'P' or 'PS', this field contains the identification for the clearing BIN.
For DMSC, the clearing BIN is the BIN that appears on the Edit Package reports.
For SMS, the clearing BIN is the Affiliate BIN that appears on the detail reports and raw data.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

This field contains the ISO numeric currency in which the amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
This field will contain 'NON' if the transactions are non-financial.
It will contain a space if this is the total for all currency codes.
If the No Data Indicator = Y, this field will contain a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.
This field will contain a space if this is the Total for All Settlement Services.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

When Summary-Level contains 06, 07, or 08, the possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
Otherwise, this field will contain a space.
This code designates the type of value contained in the amount field.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.

Report Identification Number

The possible values for this field are: 900 and 910.

Report Identification Suffix

The possible values for this field are: Space, 'S', 'P', 'PS', 'M', 'SM', 'PM', or 'XM'.

Settlement Date

This field contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

Financial Indicator

This field contains a 'Y' if the Business Transaction Type is financial.
Otherwise, this field contains an 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is Space or 'P', this field contains a '0' if the transactions are financial or it contains a '1' if the transactions are non-financial.

Clearing Only Indicator

This field contains a 'Y' if the transactions are clearing only.
Otherwise, this field contains an 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is Space or 'P', this field contains a '0' if the transactions are NOT clearing-only or it contains a '1' if the transactions are clearing-only.

Business Transaction Type

This field contains the Business Transaction Type.
Otherwise, this field will contain a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

This field contains the Business Transaction Cycle.
Otherwise, this field will contain a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

Possible values for this field are 'Y' or 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is 'P', this field contains a '0' if the transactions are Original or it contains a '1' if the transactions are Reversals.

Transaction Disposition

This field indicates the disposition of the transactions.
If the No Data Indicator = Y, this field will contain a space.

Count

This field contains the transaction count.
If the No Data Indicator = Y, this field will contain a space.

Amount

This field contains the clearing amount corresponding to Business Mode and Transaction Disposition.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Amount Sign

The Interchange Value Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If Amount contains zeros, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Processor Total
02 = BIN Total
03 = Settlement SVC Total
04 = SRE Total
05 = Clearing Currency Total
06 = Business Mode Total
07 = Business Transaction Total
08 = Detail Line
10 = Settlement Type/Payment Mode Total
11 = Financial/Non-financial Total
Summary levels 10 and 11 is only used when Report Identification Number = ‘900’.
If the No Data Indicator = Y, this field will contain spaces.

CRS Date

This field contains the date on which the transaction was sent to CRS. The format of this date is DDMMMYY where DD is the day, MMM is the alphabetic representation of the month, and YY is the year.
If the Report Identification Suffix is 'M', 'SM', 'PM', or 'XM', this field will contain a space.

Interchange Reimbursement Fees - Only applicable to Deferred Settlement; otherwise, field contains a space

This field contains the Reimbursement Fee and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Interchange Reimbursement Fees Sign - Only applicable to Deferred Settlement; otherwise, field contains a space

This field contains the Reimbursement Fee Sign and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The Interchange Reimbursement Fee Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If the Reimbursement Fee contains zeros, this field will contain a space.

Payment Amount

This field contains the Payment Amount and is only applicable for Japanese NNSS Deferred Settlement. For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.
If the Payment Amount contains zeros, this field will contain a space.

Payment Amount Sign

This field contains the Payment Amount Sign and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The Payment Amount Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.

Payment Mode/Settlement Type - Only applicable to Deferred Settlement; otherwise, field contains a space

This field is only applicable when Report Identification Number = 910 or when the Report Identification Number = 900 and reporting for Brazil NNSS.
Otherwise, the field will contain a space.
The field will be Payment Mode when the Report Identification Number is 910 and Settlement Type when the number is 910 and reporting for Brazilian NNSS.
The possible values of Payment Mode are: 10, 21, 22, 23, 24, 31, 32, 33, 34, 61, 71, 80, and space.
The possible values of Settlement Type are: 000, 001, 002, 003, 004, 007, 010, 012, 015, 017, 018, 020, 022, 025, 027, 028, and space.

Instalment Payment Indicator

This field is only valid when the payment mode is 61.
The possible values for this field are '2', '3', or space.
When this field is '2' and payment mode is '61', these are 'instalment payment' transactions.

7.3.24. VSS-900-M

VSS-900-M - Monthly Reconciliation Repor

This is a monthly report that provides the totals of the transaction count and clearing amount for each SRE by clearing currency, business mode, and business transaction type.
Table 219. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

When the Report ID Suffix is space or 'S', this is the identifier for the SRE for which this report was requested. Otherwise, this field contains a space.

Processor Identifier

When the Report ID Suffix is 'P' or 'PS', this is the identifier for the Processor for which this report was requested. Otherwise, this field contains a space.

Clearing BIN

When the Report Identifier Suffix contains 'P' or 'PS', this field contains the identification for the clearing BIN.
For DMSC, the clearing BIN is the BIN that appears on the Edit Package reports.
For SMS, the clearing BIN is the Affiliate BIN that appears on the detail reports and raw data.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

This field contains the ISO numeric currency in which the amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
This field will contain 'NON' if the transactions are non-financial.
It will contain a space if this is the total for all currency codes.
If the No Data Indicator = Y, this field will contain a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.
This field will contain a space if this is the Total for All Settlement Services.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

When Summary-Level contains 06, 07, or 08, the possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
Otherwise, this field will contain a space.
This code designates the type of value contained in the amount field.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.

Report Identification Number

The possible values for this field are: 900 and 910.

Report Identification Suffix

The possible values for this field are: Space, 'S', 'P', 'PS', 'M', 'SM', 'PM', or 'XM'.

Settlement Date

This field contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

Financial Indicator

This field contains a 'Y' if the Business Transaction Type is financial.
Otherwise, this field contains an 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is Space or 'P', this field contains a '0' if the transactions are financial or it contains a '1' if the transactions are non-financial.

Clearing Only Indicator

This field contains a 'Y' if the transactions are clearing only.
Otherwise, this field contains an 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is Space or 'P', this field contains a '0' if the transactions are NOT clearing-only or it contains a '1' if the transactions are clearing-only.

Business Transaction Type

This field contains the Business Transaction Type.
Otherwise, this field will contain a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

This field contains the Business Transaction Cycle.
Otherwise, this field will contain a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

Possible values for this field are 'Y' or 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is 'P', this field contains a '0' if the transactions are Original or it contains a '1' if the transactions are Reversals.

Transaction Disposition

This field indicates the disposition of the transactions.
If the No Data Indicator = Y, this field will contain a space.

Count

This field contains the transaction count.
If the No Data Indicator = Y, this field will contain a space.

Amount

This field contains the clearing amount corresponding to Business Mode and Transaction Disposition.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Amount Sign

The Interchange Value Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If Amount contains zeros, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Processor Total
02 = BIN Total
03 = Settlement SVC Total
04 = SRE Total
05 = Clearing Currency Total
06 = Business Mode Total
07 = Business Transaction Total
08 = Detail Line
10 = Settlement Type/Payment Mode Total
11 = Financial/Non-financial Total
Summary levels 10 and 11 is only used when Report Identification Number = ‘900’.
If the No Data Indicator = Y, this field will contain spaces.

CRS Date

This field contains the date on which the transaction was sent to CRS. The format of this date is DDMMMYY where DD is the day, MMM is the alphabetic representation of the month, and YY is the year.
If the Report Identification Suffix is 'M', 'SM', 'PM', or 'XM', this field will contain a space.

Interchange Reimbursement Fees - Only applicable to Deferred Settlement; otherwise, field contains a space

This field contains the Reimbursement Fee and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Interchange Reimbursement Fees Sign - Only applicable to Deferred Settlement; otherwise, field contains a space

This field contains the Reimbursement Fee Sign and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The Interchange Reimbursement Fee Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If the Reimbursement Fee contains zeros, this field will contain a space.

Payment Amount

This field contains the Payment Amount and is only applicable for Japanese NNSS Deferred Settlement. For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.
If the Payment Amount contains zeros, this field will contain a space.

Payment Amount Sign

This field contains the Payment Amount Sign and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The Payment Amount Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.

Payment Mode/Settlement Type - Only applicable to Deferred Settlement; otherwise, field contains a space

This field is only applicable when Report Identification Number = 910 or when the Report Identification Number = 900 and reporting for Brazil NNSS.
Otherwise, the field will contain a space.
The field will be Payment Mode when the Report Identification Number is 910 and Settlement Type when the number is 910 and reporting for Brazilian NNSS.
The possible values of Payment Mode are: 10, 21, 22, 23, 24, 31, 32, 33, 34, 61, 71, 80, and space.
The possible values of Settlement Type are: 000, 001, 002, 003, 004, 007, 010, 012, 015, 017, 018, 020, 022, 025, 027, 028, and space.

Instalment Payment Indicator

This field is only valid when the payment mode is 61.
The possible values for this field are '2', '3', or space.
When this field is '2' and payment mode is '61', these are 'instalment payment' transactions.

From Date

This field contains ending date range for information contained in the report when the Report Identification Suffix contains 'M', 'SM', 'PM', or 'XM'.
Otherwise, the field contains a space.
The format of this date is CCYYDDD, where CC is the century, YY is the year, and DDD is the Julian day.

To Date

This field contains ending date range for information contained in the report when the Report Identification Suffix contains 'M', 'SM', 'PM', or 'XM'.
Otherwise, the field contains a space.
The format of this date is CCYYDDD, where CC is the century, YY is the year, and DDD is the Julian day.

7.3.25. VSS-900-P

VSS-900-P - Processor Reconciliation Report

This report provides the summarised totals of transaction counts and clearing amounts for each BIN that is processed by a Processor. Amounts are provided by BIN, clearing
currency, settlement service, business mode, and business transaction.
The information is presented using the same disposition categories as used on the VSS-900 report.
Table 220. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

When the Report ID Suffix is space or 'S', this is the identifier for the SRE for which this report was requested. Otherwise, this field contains a space.

Processor Identifier

When the Report ID Suffix is 'P' or 'PS', this is the identifier for the Processor for which this report was requested. Otherwise, this field contains a space.

Clearing BIN

When the Report Identifier Suffix contains 'P' or 'PS', this field contains the identification for the clearing BIN.
For DMSC, the clearing BIN is the BIN that appears on the Edit Package reports.
For SMS, the clearing BIN is the Affiliate BIN that appears on the detail reports and raw data.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

This field contains the ISO numeric currency in which the amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
This field will contain 'NON' if the transactions are non-financial.
It will contain a space if this is the total for all currency codes.
If the No Data Indicator = Y, this field will contain a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.
This field will contain a space if this is the Total for All Settlement Services.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

When Summary-Level contains 06, 07, or 08, the possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
Otherwise, this field will contain a space.
This code designates the type of value contained in the amount field.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.

Report Identification Number

The possible values for this field are: 900 and 910.

Report Identification Suffix

The possible values for this field are: Space, 'S', 'P', 'PS', 'M', 'SM', 'PM', or 'XM'.

Settlement Date

This field contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

Financial Indicator

This field contains a 'Y' if the Business Transaction Type is financial.
Otherwise, this field contains an 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is Space or 'P', this field contains a '0' if the transactions are financial or it contains a '1' if the transactions are non-financial.

Clearing Only Indicator

This field contains a 'Y' if the transactions are clearing only.
Otherwise, this field contains an 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is Space or 'P', this field contains a '0' if the transactions are NOT clearing-only or it contains a '1' if the transactions are clearing-only.

Business Transaction Type

This field contains the Business Transaction Type.
Otherwise, this field will contain a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

This field contains the Business Transaction Cycle.
Otherwise, this field will contain a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

Possible values for this field are 'Y' or 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is 'P', this field contains a '0' if the transactions are Original or it contains a '1' if the transactions are Reversals.

Transaction Disposition

This field indicates the disposition of the transactions.
If the No Data Indicator = Y, this field will contain a space.

Count

This field contains the transaction count.
If the No Data Indicator = Y, this field will contain a space.

Amount

This field contains the clearing amount corresponding to Business Mode and Transaction Disposition.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Amount Sign

The Interchange Value Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If Amount contains zeros, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Processor Total
02 = BIN Total
03 = Settlement SVC Total
04 = SRE Total
05 = Clearing Currency Total
06 = Business Mode Total
07 = Business Transaction Total
08 = Detail Line
10 = Settlement Type/Payment Mode Total
11 = Financial/Non-financial Total
Summary levels 10 and 11 is only used when Report Identification Number = ‘900’.
If the No Data Indicator = Y, this field will contain spaces.

CRS Date

This field contains the date on which the transaction was sent to CRS. The format of this date is DDMMMYY where DD is the day, MMM is the alphabetic representation of the month, and YY is the year.
If the Report Identification Suffix is 'M', 'SM', 'PM', or 'XM', this field will contain a space.

Interchange Reimbursement Fees - Only applicable to Deferred Settlement; otherwise, field contains a space

This field contains the Reimbursement Fee and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Interchange Reimbursement Fees Sign - Only applicable to Deferred Settlement; otherwise, field contains a space

This field contains the Reimbursement Fee Sign and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The Interchange Reimbursement Fee Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If the Reimbursement Fee contains zeros, this field will contain a space.

Payment Amount

This field contains the Payment Amount and is only applicable for Japanese NNSS Deferred Settlement. For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.
If the Payment Amount contains zeros, this field will contain a space.

Payment Amount Sign

This field contains the Payment Amount Sign and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The Payment Amount Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.

Payment Mode/Settlement Type - Only applicable to Deferred Settlement; otherwise, field contains a space

This field is only applicable when Report Identification Number = 910 or when the Report Identification Number = 900 and reporting for Brazil NNSS.
Otherwise, the field will contain a space.
The field will be Payment Mode when the Report Identification Number is 910 and Settlement Type when the number is 910 and reporting for Brazilian NNSS.
The possible values of Payment Mode are: 10, 21, 22, 23, 24, 31, 32, 33, 34, 61, 71, 80, and space.
The possible values of Settlement Type are: 000, 001, 002, 003, 004, 007, 010, 012, 015, 017, 018, 020, 022, 025, 027, 028, and space.

Instalment Payment Indicator

This field is only valid when the payment mode is 61.
The possible values for this field are '2', '3', or space.
When this field is '2' and payment mode is '61', these are 'instalment payment' transactions.

7.3.26. VSS-900-PM

VSS-900-PM - Monthly Processor Reconciliation Report

This is a monthly report that provides the summarised totals of transaction counts and clearing amounts for each BIN that is processed by a Processor. Amounts are provided
by BIN, clearing currency, settlement service, business mode, and business transaction. The information is presented using the same disposition categories as used on the
VSS-900 report.
Table 221. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

When the Report ID Suffix is space or 'S', this is the identifier for the SRE for which this report was requested. Otherwise, this field contains a space.

Processor Identifier

When the Report ID Suffix is 'P' or 'PS', this is the identifier for the Processor for which this report was requested. Otherwise, this field contains a space.

Clearing BIN

When the Report Identifier Suffix contains 'P' or 'PS', this field contains the identification for the clearing BIN.
For DMSC, the clearing BIN is the BIN that appears on the Edit Package reports.
For SMS, the clearing BIN is the Affiliate BIN that appears on the detail reports and raw data.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

This field contains the ISO numeric currency in which the amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
This field will contain 'NON' if the transactions are non-financial.
It will contain a space if this is the total for all currency codes.
If the No Data Indicator = Y, this field will contain a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.
This field will contain a space if this is the Total for All Settlement Services.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

When Summary-Level contains 06, 07, or 08, the possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
Otherwise, this field will contain a space.
This code designates the type of value contained in the amount field.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.

Report Identification Number

The possible values for this field are: 900 and 910.

Report Identification Suffix

The possible values for this field are: Space, 'S', 'P', 'PS', 'M', 'SM', 'PM', or 'XM'.

Settlement Date

This field contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

Financial Indicator

This field contains a 'Y' if the Business Transaction Type is financial.
Otherwise, this field contains an 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is Space or 'P', this field contains a '0' if the transactions are financial or it contains a '1' if the transactions are non-financial.

Clearing Only Indicator

This field contains a 'Y' if the transactions are clearing only.
Otherwise, this field contains an 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is Space or 'P', this field contains a '0' if the transactions are NOT clearing-only or it contains a '1' if the transactions are clearing-only.

Business Transaction Type

This field contains the Business Transaction Type.
Otherwise, this field will contain a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

This field contains the Business Transaction Cycle.
Otherwise, this field will contain a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

Possible values for this field are 'Y' or 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is 'P', this field contains a '0' if the transactions are Original or it contains a '1' if the transactions are Reversals.

Transaction Disposition

This field indicates the disposition of the transactions.
If the No Data Indicator = Y, this field will contain a space.

Count

This field contains the transaction count.
If the No Data Indicator = Y, this field will contain a space.

Amount

This field contains the clearing amount corresponding to Business Mode and Transaction Disposition.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Amount Sign

The Interchange Value Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If Amount contains zeros, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Processor Total
02 = BIN Total
03 = Settlement SVC Total
04 = SRE Total
05 = Clearing Currency Total
06 = Business Mode Total
07 = Business Transaction Total
08 = Detail Line
10 = Settlement Type/Payment Mode Total
11 = Financial/Non-financial Total
Summary levels 10 and 11 is only used when Report Identification Number = ‘900’.
If the No Data Indicator = Y, this field will contain spaces.

CRS Date

This field contains the date on which the transaction was sent to CRS. The format of this date is DDMMMYY where DD is the day, MMM is the alphabetic representation of the month, and YY is the year.
If the Report Identification Suffix is 'M', 'SM', 'PM', or 'XM', this field will contain a space.

Interchange Reimbursement Fees - Only applicable to Deferred Settlement; otherwise, field contains a space

This field contains the Reimbursement Fee and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Interchange Reimbursement Fees Sign - Only applicable to Deferred Settlement; otherwise, field contains a space

This field contains the Reimbursement Fee Sign and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The Interchange Reimbursement Fee Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If the Reimbursement Fee contains zeros, this field will contain a space.

Payment Amount

This field contains the Payment Amount and is only applicable for Japanese NNSS Deferred Settlement. For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.
If the Payment Amount contains zeros, this field will contain a space.

Payment Amount Sign

This field contains the Payment Amount Sign and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The Payment Amount Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.

Payment Mode/Settlement Type - Only applicable to Deferred Settlement; otherwise, field contains a space

This field is only applicable when Report Identification Number = 910 or when the Report Identification Number = 900 and reporting for Brazil NNSS.
Otherwise, the field will contain a space.
The field will be Payment Mode when the Report Identification Number is 910 and Settlement Type when the number is 910 and reporting for Brazilian NNSS.
The possible values of Payment Mode are: 10, 21, 22, 23, 24, 31, 32, 33, 34, 61, 71, 80, and space.
The possible values of Settlement Type are: 000, 001, 002, 003, 004, 007, 010, 012, 015, 017, 018, 020, 022, 025, 027, 028, and space.

Instalment Payment Indicator

This field is only valid when the payment mode is 61.
The possible values for this field are '2', '3', or space.
When this field is '2' and payment mode is '61', these are 'instalment payment' transactions.

From Date

This field contains ending date range for information contained in the report when the Report Identification Suffix contains 'M', 'SM', 'PM', or 'XM'.
Otherwise, the field contains a space.
The format of this date is CCYYDDD, where CC is the century, YY is the year, and DDD is the Julian day.

To Date

This field contains ending date range for information contained in the report when the Report Identification Suffix contains 'M', 'SM', 'PM', or 'XM'.
Otherwise, the field contains a space.
The format of this date is CCYYDDD, where CC is the century, YY is the year, and DDD is the Julian day.

7.3.27. VSS-900-PS

VSS-900-PS - Processor Summary Reconciliation Report

This report provides the summarised totals of transaction counts and clearing amounts for each BIN that is processed by a Processor.
Amounts are provided by BIN, clearing currency, settlement service, business mode, and business transaction.
The information is presented using the same disposition categories as used on the VSS-900 report.
Table 222. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

When the Report ID Suffix is space or 'S', this is the identifier for the SRE for which this report was requested. Otherwise, this field contains a space.

Processor Identifier

When the Report ID Suffix is 'P' or 'PS', this is the identifier for the Processor for which this report was requested. Otherwise, this field contains a space.

Clearing BIN

When the Report Identifier Suffix contains 'P' or 'PS', this field contains the identification for the clearing BIN.
For DMSC, the clearing BIN is the BIN that appears on the Edit Package reports.
For SMS, the clearing BIN is the Affiliate BIN that appears on the detail reports and raw data.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

This field contains the ISO numeric currency in which the amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
This field will contain 'NON' if the transactions are non-financial.
It will contain a space if this is the total for all currency codes.
If the No Data Indicator = Y, this field will contain a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.
This field will contain a space if this is the Total for All Settlement Services.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

When Summary-Level contains 06, 07, or 08, the possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
Otherwise, this field will contain a space.
This code designates the type of value contained in the amount field.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.

Report Identification Number

The possible values for this field are: 900 and 910.

Report Identification Suffix

The possible values for this field are: Space, 'S', 'P', 'PS', 'M', 'SM', 'PM', or 'XM'.

Settlement Date

This field contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

Financial Indicator

This field contains a 'Y' if the Business Transaction Type is financial.
Otherwise, this field contains an 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is Space or 'P', this field contains a '0' if the transactions are financial or it contains a '1' if the transactions are non-financial.

Clearing Only Indicator

This field contains a 'Y' if the transactions are clearing only.
Otherwise, this field contains an 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is Space or 'P', this field contains a '0' if the transactions are NOT clearing-only or it contains a '1' if the transactions are clearing-only.

Business Transaction Type

This field contains the Business Transaction Type.
Otherwise, this field will contain a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

This field contains the Business Transaction Cycle.
Otherwise, this field will contain a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

Possible values for this field are 'Y' or 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is 'P', this field contains a '0' if the transactions are Original or it contains a '1' if the transactions are Reversals.

Transaction Disposition

This field indicates the disposition of the transactions.
If the No Data Indicator = Y, this field will contain a space.

Count

This field contains the transaction count.
If the No Data Indicator = Y, this field will contain a space.

Amount

This field contains the clearing amount corresponding to Business Mode and Transaction Disposition.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Amount Sign

The Interchange Value Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If Amount contains zeros, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Processor Total
02 = BIN Total
03 = Settlement SVC Total
04 = SRE Total
05 = Clearing Currency Total
06 = Business Mode Total
07 = Business Transaction Total
08 = Detail Line
10 = Settlement Type/Payment Mode Total
11 = Financial/Non-financial Total
Summary levels 10 and 11 is only used when Report Identification Number = ‘900’.
If the No Data Indicator = Y, this field will contain spaces.

CRS Date

This field contains the date on which the transaction was sent to CRS. The format of this date is DDMMMYY where DD is the day, MMM is the alphabetic representation of the month, and YY is the year.
If the Report Identification Suffix is 'M', 'SM', 'PM', or 'XM', this field will contain a space.

Interchange Reimbursement Fees - Only applicable to Deferred Settlement; otherwise, field contains a space

This field contains the Reimbursement Fee and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Interchange Reimbursement Fees Sign - Only applicable to Deferred Settlement; otherwise, field contains a space

This field contains the Reimbursement Fee Sign and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The Interchange Reimbursement Fee Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If the Reimbursement Fee contains zeros, this field will contain a space.

Payment Amount

This field contains the Payment Amount and is only applicable for Japanese NNSS Deferred Settlement. For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.
If the Payment Amount contains zeros, this field will contain a space.

Payment Amount Sign

This field contains the Payment Amount Sign and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The Payment Amount Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.

Payment Mode/Settlement Type - Only applicable to Deferred Settlement; otherwise, field contains a space

This field is only applicable when Report Identification Number = 910 or when the Report Identification Number = 900 and reporting for Brazil NNSS.
Otherwise, the field will contain a space.
The field will be Payment Mode when the Report Identification Number is 910 and Settlement Type when the number is 910 and reporting for Brazilian NNSS.
The possible values of Payment Mode are: 10, 21, 22, 23, 24, 31, 32, 33, 34, 61, 71, 80, and space.
The possible values of Settlement Type are: 000, 001, 002, 003, 004, 007, 010, 012, 015, 017, 018, 020, 022, 025, 027, 028, and space.

Instalment Payment Indicator

This field is only valid when the payment mode is 61.
The possible values for this field are '2', '3', or space.
When this field is '2' and payment mode is '61', these are 'instalment payment' transactions.

7.3.28. VSS-900-S

VSS-900-S - Summary Reconciliation Report

This report provides the summarised totals of transaction counts and clearing amounts for each SRE by clearing currency.
Information is totalled across all business transaction types.
The information is presented using the same disposition categories as used on the VSS-900 report.
Table 223. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

When the Report ID Suffix is space or 'S', this is the identifier for the SRE for which this report was requested. Otherwise, this field contains a space.

Processor Identifier

When the Report ID Suffix is 'P' or 'PS', this is the identifier for the Processor for which this report was requested. Otherwise, this field contains a space.

Clearing BIN

When the Report Identifier Suffix contains 'P' or 'PS', this field contains the identification for the clearing BIN.
For DMSC, the clearing BIN is the BIN that appears on the Edit Package reports.
For SMS, the clearing BIN is the Affiliate BIN that appears on the detail reports and raw data.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

This field contains the ISO numeric currency in which the amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
This field will contain 'NON' if the transactions are non-financial.
It will contain a space if this is the total for all currency codes.
If the No Data Indicator = Y, this field will contain a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.
This field will contain a space if this is the Total for All Settlement Services.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

When Summary-Level contains 06, 07, or 08, the possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
Otherwise, this field will contain a space.
This code designates the type of value contained in the amount field.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.

Report Identification Number

The possible values for this field are: 900 and 910.

Report Identification Suffix

The possible values for this field are: Space, 'S', 'P', 'PS', 'M', 'SM', 'PM', or 'XM'.

Settlement Date

This field contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

Financial Indicator

This field contains a 'Y' if the Business Transaction Type is financial.
Otherwise, this field contains an 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is Space or 'P', this field contains a '0' if the transactions are financial or it contains a '1' if the transactions are non-financial.

Clearing Only Indicator

This field contains a 'Y' if the transactions are clearing only.
Otherwise, this field contains an 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is Space or 'P', this field contains a '0' if the transactions are NOT clearing-only or it contains a '1' if the transactions are clearing-only.

Business Transaction Type

This field contains the Business Transaction Type.
Otherwise, this field will contain a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

This field contains the Business Transaction Cycle.
Otherwise, this field will contain a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

Possible values for this field are 'Y' or 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is 'P', this field contains a '0' if the transactions are Original or it contains a '1' if the transactions are Reversals.

Transaction Disposition

This field indicates the disposition of the transactions.
If the No Data Indicator = Y, this field will contain a space.

Count

This field contains the transaction count.
If the No Data Indicator = Y, this field will contain a space.

Amount

This field contains the clearing amount corresponding to Business Mode and Transaction Disposition.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Amount Sign

The Interchange Value Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If Amount contains zeros, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Processor Total
02 = BIN Total
03 = Settlement SVC Total
04 = SRE Total
05 = Clearing Currency Total
06 = Business Mode Total
07 = Business Transaction Total
08 = Detail Line
10 = Settlement Type/Payment Mode Total
11 = Financial/Non-financial Total
Summary levels 10 and 11 is only used when Report Identification Number = ‘900’.
If the No Data Indicator = Y, this field will contain spaces.

CRS Date

This field contains the date on which the transaction was sent to CRS. The format of this date is DDMMMYY where DD is the day, MMM is the alphabetic representation of the month, and YY is the year.
If the Report Identification Suffix is 'M', 'SM', 'PM', or 'XM', this field will contain a space.

Interchange Reimbursement Fees - Only applicable to Deferred Settlement; otherwise, field contains a space

This field contains the Reimbursement Fee and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Interchange Reimbursement Fees Sign - Only applicable to Deferred Settlement; otherwise, field contains a space

This field contains the Reimbursement Fee Sign and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The Interchange Reimbursement Fee Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If the Reimbursement Fee contains zeros, this field will contain a space.

Payment Amount

This field contains the Payment Amount and is only applicable for Japanese NNSS Deferred Settlement. For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.
If the Payment Amount contains zeros, this field will contain a space.

Payment Amount Sign

This field contains the Payment Amount Sign and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The Payment Amount Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.

Payment Mode/Settlement Type - Only applicable to Deferred Settlement; otherwise, field contains a space

This field is only applicable when Report Identification Number = 910 or when the Report Identification Number = 900 and reporting for Brazil NNSS.
Otherwise, the field will contain a space.
The field will be Payment Mode when the Report Identification Number is 910 and Settlement Type when the number is 910 and reporting for Brazilian NNSS.
The possible values of Payment Mode are: 10, 21, 22, 23, 24, 31, 32, 33, 34, 61, 71, 80, and space.
The possible values of Settlement Type are: 000, 001, 002, 003, 004, 007, 010, 012, 015, 017, 018, 020, 022, 025, 027, 028, and space.

Instalment Payment Indicator

This field is only valid when the payment mode is 61.
The possible values for this field are '2', '3', or space.
When this field is '2' and payment mode is '61', these are 'instalment payment' transactions.

7.3.29. VSS-900-SM

VSS-900-SM - Monthly Summary Reconciliation Report

This is a monthly report that provides the summarised totals of transaction counts and clearing amounts for each SRE by clearing currency.
Information is totalled across all business transaction types. The information is presented using the same disposition categories as used on the
VSS-900 report.
Table 224. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

When the Report ID Suffix is space or 'S', this is the identifier for the SRE for which this report was requested. Otherwise, this field contains a space.

Processor Identifier

When the Report ID Suffix is 'P' or 'PS', this is the identifier for the Processor for which this report was requested. Otherwise, this field contains a space.

Clearing BIN

When the Report Identifier Suffix contains 'P' or 'PS', this field contains the identification for the clearing BIN.
For DMSC, the clearing BIN is the BIN that appears on the Edit Package reports.
For SMS, the clearing BIN is the Affiliate BIN that appears on the detail reports and raw data.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

This field contains the ISO numeric currency in which the amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
This field will contain 'NON' if the transactions are non-financial.
It will contain a space if this is the total for all currency codes.
If the No Data Indicator = Y, this field will contain a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.
This field will contain a space if this is the Total for All Settlement Services.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

When Summary-Level contains 06, 07, or 08, the possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
Otherwise, this field will contain a space.
This code designates the type of value contained in the amount field.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.

Report Identification Number

The possible values for this field are: 900 and 910.

Report Identification Suffix

The possible values for this field are: Space, 'S', 'P', 'PS', 'M', 'SM', 'PM', or 'XM'.

Settlement Date

This field contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

Financial Indicator

This field contains a 'Y' if the Business Transaction Type is financial.
Otherwise, this field contains an 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is Space or 'P', this field contains a '0' if the transactions are financial or it contains a '1' if the transactions are non-financial.

Clearing Only Indicator

This field contains a 'Y' if the transactions are clearing only.
Otherwise, this field contains an 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is Space or 'P', this field contains a '0' if the transactions are NOT clearing-only or it contains a '1' if the transactions are clearing-only.

Business Transaction Type

This field contains the Business Transaction Type.
Otherwise, this field will contain a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

This field contains the Business Transaction Cycle.
Otherwise, this field will contain a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

Possible values for this field are 'Y' or 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is 'P', this field contains a '0' if the transactions are Original or it contains a '1' if the transactions are Reversals.

Transaction Disposition

This field indicates the disposition of the transactions.
If the No Data Indicator = Y, this field will contain a space.

Count

This field contains the transaction count.
If the No Data Indicator = Y, this field will contain a space.

Amount

This field contains the clearing amount corresponding to Business Mode and Transaction Disposition.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Amount Sign

The Interchange Value Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If Amount contains zeros, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Processor Total
02 = BIN Total
03 = Settlement SVC Total
04 = SRE Total
05 = Clearing Currency Total
06 = Business Mode Total
07 = Business Transaction Total
08 = Detail Line
10 = Settlement Type/Payment Mode Total
11 = Financial/Non-financial Total
Summary levels 10 and 11 is only used when Report Identification Number = ‘900’.
If the No Data Indicator = Y, this field will contain spaces.

CRS Date

This field contains the date on which the transaction was sent to CRS. The format of this date is DDMMMYY where DD is the day, MMM is the alphabetic representation of the month, and YY is the year.
If the Report Identification Suffix is 'M', 'SM', 'PM', or 'XM', this field will contain a space.

Interchange Reimbursement Fees - Only applicable to Deferred Settlement; otherwise, field contains a space

This field contains the Reimbursement Fee and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Interchange Reimbursement Fees Sign - Only applicable to Deferred Settlement; otherwise, field contains a space

This field contains the Reimbursement Fee Sign and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The Interchange Reimbursement Fee Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If the Reimbursement Fee contains zeros, this field will contain a space.

Payment Amount

This field contains the Payment Amount and is only applicable for Japanese NNSS Deferred Settlement. For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.
If the Payment Amount contains zeros, this field will contain a space.

Payment Amount Sign

This field contains the Payment Amount Sign and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The Payment Amount Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.

Payment Mode/Settlement Type - Only applicable to Deferred Settlement; otherwise, field contains a space

This field is only applicable when Report Identification Number = 910 or when the Report Identification Number = 900 and reporting for Brazil NNSS.
Otherwise, the field will contain a space.
The field will be Payment Mode when the Report Identification Number is 910 and Settlement Type when the number is 910 and reporting for Brazilian NNSS.
The possible values of Payment Mode are: 10, 21, 22, 23, 24, 31, 32, 33, 34, 61, 71, 80, and space.
The possible values of Settlement Type are: 000, 001, 002, 003, 004, 007, 010, 012, 015, 017, 018, 020, 022, 025, 027, 028, and space.

Instalment Payment Indicator

This field is only valid when the payment mode is 61.
The possible values for this field are '2', '3', or space.
When this field is '2' and payment mode is '61', these are 'instalment payment' transactions.

From Date

This field contains ending date range for information contained in the report when the Report Identification Suffix contains 'M', 'SM', 'PM', or 'XM'.
Otherwise, the field contains a space.
The format of this date is CCYYDDD, where CC is the century, YY is the year, and DDD is the Julian day.

To Date

This field contains ending date range for information contained in the report when the Report Identification Suffix contains 'M', 'SM', 'PM', or 'XM'.
Otherwise, the field contains a space.
The format of this date is CCYYDDD, where CC is the century, YY is the year, and DDD is the Julian day.

7.3.30. VSS-900-XM

VSS-900-XM - Monthly Processor Reconciliation Report

This is a monthly report that provides the summarised totals of transaction counts and clearing amounts for each BIN that is processed by a Processor.
Amounts are provided by BIN, clearing currency, settlement service, business mode, and business transaction.
The information is presented using the same disposition categories as used on the VSS-900 report.
Table 225. CSV file structure
Path Description

Destination BIN

The BIN to which this DMSC transaction message is sent.
For BIN-level reports, this will be the BIN being reported.
For Processor-level reports, this will be the BIN of the Processor.

Source BIN

The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros.

Reporting for SRE Identifier

When the Report ID Suffix is space or 'S', this is the identifier for the SRE for which this report was requested. Otherwise, this field contains a space.

Processor Identifier

When the Report ID Suffix is 'P' or 'PS', this is the identifier for the Processor for which this report was requested. Otherwise, this field contains a space.

Clearing BIN

When the Report Identifier Suffix contains 'P' or 'PS', this field contains the identification for the clearing BIN.
For DMSC, the clearing BIN is the BIN that appears on the Edit Package reports.
For SMS, the clearing BIN is the Affiliate BIN that appears on the detail reports and raw data.
Otherwise, this field contains a space.
If the No Data Indicator = Y, this field will contain a space.

Clearing Currency Code

This field contains the ISO numeric currency in which the amounts are reported. Possible values for this field are available in the DMSC Technical Specifications and DMSA Technical Specifications manuals.
This field will contain 'NON' if the transactions are non-financial.
It will contain a space if this is the total for all currency codes.
If the No Data Indicator = Y, this field will contain a space.

Settlement Service Identifier

This field contains the 3-digit code that identifies the settlement service used.
This field will contain a space if this is the Total for All Settlement Services.
If the No Data Indicator = Y, this field will contain a space.

Business Mode

When Summary-Level contains 06, 07, or 08, the possible values for this field are:
1 = Acquirer
2 = Issuer
3 = Other
9 = Total
Otherwise, this field will contain a space.
This code designates the type of value contained in the amount field.
If the No Data Indicator = Y, this field will contain a space.

No Data Indicator

The possible values for this field are 'Y' or space, if there is no data for this report.

Report Identification Number

The possible values for this field are: 900 and 910.

Report Identification Suffix

The possible values for this field are: Space, 'S', 'P', 'PS', 'M', 'SM', 'PM', or 'XM'.

Settlement Date

This field contains the date for which settlement was performed. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

Report Date

This contains the date on which the report was produced. The format of this date is CCYYDDD where CC is the century, YY is the year, and DDD is the Julian day.

Financial Indicator

This field contains a 'Y' if the Business Transaction Type is financial.
Otherwise, this field contains an 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is Space or 'P', this field contains a '0' if the transactions are financial or it contains a '1' if the transactions are non-financial.

Clearing Only Indicator

This field contains a 'Y' if the transactions are clearing only.
Otherwise, this field contains an 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is Space or 'P', this field contains a '0' if the transactions are NOT clearing-only or it contains a '1' if the transactions are clearing-only.

Business Transaction Type

This field contains the Business Transaction Type.
Otherwise, this field will contain a space.
If the No Data Indicator = Y, this field will contain a space.

Business Transaction Cycle

This field contains the Business Transaction Cycle.
Otherwise, this field will contain a space.
If the No Data Indicator = Y, this field will contain a space.

Reversal Indicator

Possible values for this field are 'Y' or 'N'.
If the No Data Indicator = Y, this field will contain a space.
If Report Identification Suffix is 'P', this field contains a '0' if the transactions are Original or it contains a '1' if the transactions are Reversals.

Transaction Disposition

This field indicates the disposition of the transactions.
If the No Data Indicator = Y, this field will contain a space.

Count

This field contains the transaction count.
If the No Data Indicator = Y, this field will contain a space.

Amount

This field contains the clearing amount corresponding to Business Mode and Transaction Disposition.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Amount Sign

The Interchange Value Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If Amount contains zeros, this field will contain a space.

Summary Level

This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are:
01 = Processor Total
02 = BIN Total
03 = Settlement SVC Total
04 = SRE Total
05 = Clearing Currency Total
06 = Business Mode Total
07 = Business Transaction Total
08 = Detail Line
10 = Settlement Type/Payment Mode Total
11 = Financial/Non-financial Total
Summary levels 10 and 11 is only used when Report Identification Number = ‘900’.
If the No Data Indicator = Y, this field will contain spaces.

CRS Date

This field contains the date on which the transaction was sent to CRS. The format of this date is DDMMMYY where DD is the day, MMM is the alphabetic representation of the month, and YY is the year.
If the Report Identification Suffix is 'M', 'SM', 'PM', or 'XM', this field will contain a space.

Interchange Reimbursement Fees - Only applicable to Deferred Settlement; otherwise, field contains a space

This field contains the Reimbursement Fee and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.

Interchange Reimbursement Fees Sign - Only applicable to Deferred Settlement; otherwise, field contains a space

This field contains the Reimbursement Fee Sign and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The Interchange Reimbursement Fee Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.
If the Reimbursement Fee contains zeros, this field will contain a space.

Payment Amount

This field contains the Payment Amount and is only applicable for Japanese NNSS Deferred Settlement. For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The number of decimal places for this field depends on the currency.
If the No Data Indicator = Y, this field will contain a space.
If the Payment Amount contains zeros, this field will contain a space.

Payment Amount Sign

This field contains the Payment Amount Sign and is only applicable for Japanese NNSS Deferred Settlement.
For non-Japanese NNSS Deferred Settlement, this field will contain a space.
The Payment Amount Sign is DB for debit or CR for credit.
If the No Data Indicator = Y, this field will contain a space.

Payment Mode/Settlement Type - Only applicable to Deferred Settlement; otherwise, field contains a space

This field is only applicable when Report Identification Number = 910 or when the Report Identification Number = 900 and reporting for Brazil NNSS.
Otherwise, the field will contain a space.
The field will be Payment Mode when the Report Identification Number is 910 and Settlement Type when the number is 910 and reporting for Brazilian NNSS.
The possible values of Payment Mode are: 10, 21, 22, 23, 24, 31, 32, 33, 34, 61, 71, 80, and space.
The possible values of Settlement Type are: 000, 001, 002, 003, 004, 007, 010, 012, 015, 017, 018, 020, 022, 025, 027, 028, and space.

Instalment Payment Indicator

This field is only valid when the payment mode is 61.
The possible values for this field are '2', '3', or space.
When this field is '2' and payment mode is '61', these are 'instalment payment' transactions.

From Date

This field contains ending date range for information contained in the report when the Report Identification Suffix contains 'M', 'SM', 'PM', or 'XM'.
Otherwise, the field contains a space.
The format of this date is CCYYDDD, where CC is the century, YY is the year, and DDD is the Julian day.

To Date

This field contains ending date range for information contained in the report when the Report Identification Suffix contains 'M', 'SM', 'PM', or 'XM'.
Otherwise, the field contains a space.
The format of this date is CCYYDDD, where CC is the century, YY is the year, and DDD is the Julian day.

7.3.31. TC-10

TC-10 - Clearing Fee Collection Transactions

The Fee Collection transaction (TC 10) allows charges to be routed between Visa members, to settle fees and distribute rewards for card recovery.
This transaction can be used to reverse a Funds Disbursement transaction (TC 20).
Table 226. CSV file structure
Path Description

Destination Identifier

The entity to which transaction message is sent. This field contains spaces or a valid identifier to receive monetary items.

Source Identifier

The entity from which transaction message was sent. This field contains a valid identifier to send monetary items.

Reason Code

A VisaNet code that tells the receiving member the reason for the Fee Collection. This field contains a valid four-digit Funds Disbursement Reason Code for example, 5310.

Country Code

A three-digit code that represents the country involved. If the Funds Disbursement Reason Code equals 0100 or 0190, the field contains a valid country code followed by a space. If the Funds Disbursement Reason Code is 0300 the country code is CA or BR. The field contains spaces for all other Funds Disbursement Reason Codes.

Event Date

The date of the event for which the funds disbursement is being initiated. The field contains a valid four-digit date in the format MMDD.

Account Number

An issuer-assigned number that identifies a cardholder’s account. Account numbers are required on some transactions depending on the specified Funds Disbursement Reason Code. The entry is a 16-digit numeric.

Account Number Extension

A three-digit extension of the account number that allows account numbers up to 19 digits. If used, the field is left-justified and zero-filled to the right. The field is used for account numbers greater than 16 digits.

Destination Amount

Identifies the submitted transaction amount in the currency that is appropriate to the destination endpoint. This field is the same as the Outgoing Source Amount and contains number greater than zero. Two decimals are implied.

Destination Currency Code

The currency type presented to the member on incoming transactions. For most transactions (that is, drafts), it is the billing currency. For other transactions (for example, fee collection, dispute financial), it is the settlement currency of the destination. The field contains a valid ISO numeric code.

Source Amount

Identifies the submitted transaction amount in the currency that is appropriate to the source endpoint. The field is numeric and greater than zero.

Source Currency Code

The currency type associated with the amount of a transaction entered into interchange. This field contains a valid ISO numeric code.

Message Text

This field can be used for a freeform text message. The field not contain all spaces.

Settlement Flag

Indicates the service used for settlement. The field contains 0 (International settlement service), 7 (valid only for Latin America and Caribbean), or 8 (National Net settlement service).

Transaction Identifier

A unique value that Visa assigns to each transaction and returns to the acquirer in the authorization response. This field is numeric. The entry contain either zeros or a valid Transaction Identifier.

Reserved

This field is reserved for future use. EP will always space-fill.

Central Processing Date

The date (based on GMT) when the ITF or report in question was generated at a VIC. The field contains a four-digit numeric in the format YDDD (year and day).

Reimbursement Attribute

This field contains zero.

7.3.32. TC-33 CAS

TC-33 CAS - Clearing and settlement advice

The clearing and settlement advice provides transaction-level settlement data.
Table 227. CSV file structure
Path Description

Transaction Code

This field will contain the value of 33 (Clearing and settlement advice).

Transaction Code Qualifier

This field will contain the value of 0 (Default).

Transaction Component Sequence Number

This field will contain the value of 1

Destination Identifier

This field will contain a valid acquiring or issuing identifier or Clearing and Settlement Advice Split Route destination identifier, if present.

Source Identifier

This field will contain a valid acquiring or issuing identifier.

CAS Advice Record ID

This field will contain the value of CAS (Clearing and Settlement).

Originator/Recipient Indicator

Description: This field will indicate whether the transaction data is for the originator or recipient and will contain one of these values:
- O (Originator)
- R (Recipient)

Transaction Code of Financial Transaction

This field will contain the transaction code of the transaction.

TCQ of Financial Transaction

This field contains Transaction Code Qualifier of the transaction.

Central Processing Date

This field will contain the central processing date (CPD) of the transaction and will be in the format of YDDD, where:
- Y = year (1-9)
- DDD = day (01-366)

Transaction ID

This field will contain the transaction identifier, a unique value that Visa assigns to each transaction and returns to the acquirer in the authorization response. Visa uses this value to maintain an audit trail throughout the lifecycle of the transaction and all related transactions.

Account Number

This field will contain the primary account number (PAN) of the transaction.

Account Number Extension

This field will contain the PAN extension.

Acquirer Reference Number

This field will contain the 23-digit identification number assigned by the acquirer.

Card Acceptor ID

This field will contain an acquirer-assigned alphanumeric code that identifies the Card Acceptor. Unless provided by different entities, the Card Acceptor Identification code must be the same alphanumeric code in both the Authorization and Clearing messages.

Terminal ID

Code that identifies the card acceptor terminal or ATM. For electronic point-of-sale or point-of-service (POS) terminals, when the ID is not unique to a specific terminal, Card Acceptor Identification Code can be used along with this field. ATM terminal IDs must be unique within the acquirer’s network. An identification code of fewer than 8 positions must be left-justified and the remainder of the field space-filled.

Source Amount

This field will contain the amount of the transaction.

Source Currency Code

This field will contain the 3-digit ISO currency code for the value in the Source Amount field.

Settlement Flag

This field will contain a value that indicates the service used for settlement. Values:
- 0 (International settlement service)
- 8 (National net settlement service (valid only for countries with defined service))
- 9 (BASE II selects the appropriate settlement service based on routing and country-defined default)

Settlement Service ID

This field will contain the name of the settlement service that the transaction settled.

Settlement Currency

If destined to Originator, use Source Settlement Currency. If destined to Recipient, use Destination Settlement Currency. The settlement currency should be 3-byte numeric valid currency value.

Leaf Level SRE-ID

This field contains value based on below criteria. If destined to Originator’s, use Originator’s SRE. If destined to Recipient’s, use Recipient’s SRE - Settlement Reporting entities.

Funds Transfer SRE-ID

This field contains value based on below criteria. If destined to Originator’s, use Originator’s Funds Transfer SRE-ID. If destined to Recipient’s, use Recipient’s Funds Transfer SRE-ID. SRE - Settlement Reporting entities.

Settlement Amount - Interchange

If destined to Originator, use Source Settlement Amount - Interchange. If destined to Recipient, use Destination Settlement Amount - Interchange.

Settlement Amount - Sign

This field will contain one of the following values that indicates the sign of the amount in the Settlement Amount - Interchange Field:
- C (Credit)
- D (Debit)

Usage Code

This field will indicate whether this is the first or second presentment and will contain one of the following:
- 1 (First presentment)
- 2 (Second presentment)
- 9 (Dispute Financial)

Reclassification Indicator

This field will indicate whether the transaction was reclassified and will contain one of these:
- Y (Transaction was reclassified)
- N (Transaction was not reclassified)

Requested Payment Service

Codes for dual-message acquirers that define their choice of a specific custom payment service in the deferred clearing transaction. The requested payment service indicates that the acquirer complied with the selected CPS authorization and clearing rules.

Reserved

This field is reserved for future use. EP will always space-fill.

Interchange Fee Amount

This field will contain the amount of the interchange in the settlement currency that was assessed on the transaction. The field is right-justified, with six decimals implied.

Interchange Fee Sign

This field will indicate whether the interchange fee amount is a credit or debit for the transaction and will contain one of these values:
- C (Credit)
- D (Debit)

Merchant Verification Value

This field will contain the merchant verification value (MVV) that was assigned to the merchant.
- Values: A-F, 0-9 - Default value: spaces

Fee Program Indicator

This field contains an interchange reimbursement fee program indicator (FPI).
This field is left-justified and space-filled.
If destined to originator, originator’s FPI is logged. If destined to recipient, recipient’s FPI is logged.

Fee Descriptor

If destined to Originator/Source, use Source Fee descriptor. If destined to Recipient/Destination, use Destination Fee descriptor.

Conversion Date

This field will contain the date of the currency file that was used to convert the currency and will be in the format of YDDD, where:
- Y = year (1-9)
- DDD = day (01-366)

Settlement Date

This field will contain the settlement date of the transaction and will be in the format of YDDD, where:
- Y = year (1-9) - DDD = day (01-366)

BASE II Unique File ID

A unique file number (such as an identification) used by the Edit Package for history checking.

Persistent FX Applied Indicator

This field contains a code that identifies if the transaction underwent Persistent Foreign Exchange service processing. Valid values are:
- Y (Transaction eligible, service applied)
- N (Transaction eligible, service not applied)
- Space (Transaction not eligible)

Rate Table ID

This field will contain the rate table ID of the foreign exchange rate table used for currency conversion. The rate table ID contains alpha and numeric values for a total of five characters.

Additional Token Response Information

This field contains a code that identifies if the transaction is eligible for token services. Valid values are:
- 1 (Token program)
- Space (Not applicable)

Agreement ID

This field will contain the agreement ID associated with the agreed fee rate.