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 |
1.43 |
2023-03-29 |
|
1.42 |
2022-10-31 |
Add field |
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 |
|
Scope of changes
-
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 |
---|---|---|---|---|---|
|
Based on Mastercard documentation always. |
Change on integration |
We will not send if filed is |
|
|
|
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. |
|
n/a |
|
Only if Mastercard has relation with merchant. |
no |
We will not send if filed is |
|
n\a |
|
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 |
|
|
|
Based on Mastercard documentation required for eCommerce for this cases:
|
no |
We will not send if filed is |
|
no changes |
|
no changes |
no changes |
We will change DE in which we send that fields. |
|
|
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 |
|
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.
|
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. |

2.1. Endpoints
Environment | Endpoint (base url) |
---|---|
Staging |
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 |
---|---|---|---|
|
application/json |
Required |
Used to indicate the media type of the resource |
|
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 |
---|---|
|
Used to retrieve a resource |
|
Used to create a new resource |
|
Used to update specific resource |
|
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 |
---|---|
|
The request completed successfully |
|
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. |
|
The request with 3ds has been registered for processing. Check status in a while. |
|
The request was malformed. The response body will include an error providing further information |
|
The requested resource did not exist |
|
This response status code indicates a request conflict with current state of the target resource. |
|
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. |
|
Message occur when an unexpected condition was encountered |
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 |
Code |
Messages |
HTTP Code |
HTTP STATUS |
E00111 |
Invalid format JSON |
422 |
UNPROCESSABLE ENTITY |
Code |
Messages |
HTTP Code |
HTTP STATUS |
E00141 |
Currency rate not found |
404 |
NOT FOUND |
E00143 |
Currency not found |
404 |
NOT FOUND |
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 |
Code | Messages | HTTP Code | HTTP STATUS |
---|---|---|---|
E00161 |
Can’t reversal payment |
422 |
UNPROCESSABLE ENTITY |
E00162 |
Payment is already reversed |
422 |
UNPROCESSABLE ENTITY |
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 |
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 |
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 |
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 |
Code | Messages | HTTP Code | HTTP STATUS |
---|---|---|---|
E80000 |
Bad Request |
400 |
BAD REQUEST |
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
Status code | Usage |
---|---|
|
Approved or completed successfully |
|
Refer to card issuer |
|
Refer to card issuer’s special conditions |
|
Invalid merchant |
|
Pick up card (no fraud) |
|
Do not honor |
|
General error |
|
Pick up card, special condition (fraud account) |
|
Honor with ID |
|
Request in progress |
|
Approved for partial amount |
|
Approved (V.I.P) |
|
Invalid transaction |
|
Invalid amount |
|
Invalid account number (no such number) |
|
No such issuer |
|
Approved, update track 3 |
|
Customer cancellation |
|
Customer dispute |
|
Re-enter transaction |
|
Invalid response |
|
No action taken |
|
Suspected malfunction |
|
Unacceptable transaction fee |
|
File update not supported by receiver |
|
Unable to locate record in file |
|
Duplicate file update record, old record replaced |
|
File update field edit error |
|
File update file locked out |
|
File update not successful, contact acquirer |
|
Format error |
|
Bank not supported by switch |
|
Completed partially |
|
Expired card |
|
Suspected fraud |
|
Card acceptor contact acquirer |
|
Restricted card |
|
Card acceptor call acquirer security |
|
Allowable PIN tries exceeded |
|
No credit account |
|
Requested function not supported |
|
Lost card, pick up (fraud account) |
|
No universal account |
|
Stolen card, pick up (fraud account) |
|
No investment account |
|
Not sufficient funds |
|
No checking account |
|
No savings account |
|
Expired card or expiration date is missing |
|
Incorrect PIN or PIN missing |
|
No card record |
|
Transaction not permitted to cardholder |
|
Transaction not permitted to acquirer/terminal |
|
Suspected fraud |
|
Card acceptor contact acquirer |
|
Exceeds withdrawal amount limit |
|
Restricted card (card invalid in this region or country) |
|
Security violation (source is not correct issuer) |
|
Original amount incorrect/Transaction does not fulfill AML requirement |
|
Exceeds withdrawal frequency limit |
|
Card acceptor call acquirer’s security department |
|
Hard capture (requires that card be picked up at ATM) |
|
Response received too late |
|
Contact Card Issuer/PIN data required |
|
PIN Not Changed |
|
Different value than that used for PIN encryption errors |
|
Allowable number of PIN tries exceeded |
|
Invalid/nonexistent “To Account” specified/Unsolicited reversal |
|
Invalid/nonexistent “From Account” specified |
|
Invalid/nonexistent account specified (general)/“Blocked, first used”—Transaction from new cardholder, and card not properly unblocked |
|
Life cycle/Already reversed (by Switch) |
|
System not available/No financial impact |
|
Domestic Debit Transaction Not Allowed (Regional use only)/Cryptographic error found in PIN |
|
Policy (Mastercard use only)/Negative CAM, dCVV, iCVV, or CVV results |
|
Fraud/Security (Mastercard use only) |
|
Invalid Authorization Life Cycle |
|
Not declined/No reason to decline a request for address verification, CVV2 verification, or a credit voucher or merchandise return |
|
PIN Validation not possible |
|
Purchase Amount Only, No Cash Back Allowed |
|
Cryptographic failure |
|
Unacceptable PIN—Transaction Declined—Retry/Ineligible to receive financial position information (GIV) |
|
Cutoff is in process (switch ending a day’s business and starting the next. Transaction can be sent again in a few minutes) |
|
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. |
|
Financial institution or intermediate network facility cannot be found for routing |
|
Transaction cannot be completed. Violation of law |
|
Duplicate transmission |
|
Reconcile error |
|
System malfunction or certain field error conditions |
|
Additional customer authentication required |
|
Surcharge amount not permitted on Visa cards (U.S. acquirers only) |
|
Surcharge amount not supported by debit network issuer. |
|
Force STIP |
|
Cash service not available |
|
Cashback request exceeds issuer limit or appoved limit |
|
Ineligible for resubmission |
|
Decline for CVV2 failure |
|
Transaction amount exceeds preauthorized approval amount |
|
Invalid biller information |
|
Denied PIN unblock—PIN change or unblock request declined by issuer |
|
Denied PIN change—requested PIN unsafe |
|
Card Authentication failed |
|
Stop payment order |
|
Revocation of authorization order |
|
Transaction does not qualify for Visa PIN |
|
Revocation of all authorizations order |
|
Forward to issuer |
|
Forward to issuer |
|
Unable to go online |
|
Customer ID verification failed |
|
Additional customer authentication required (Europe Region only) |
|
Verification Failed (Cardholder Identification does not match issuer records) |
3. 3DS 2.X verification methods


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
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" : "73dca994-0943-491e-8392-3169cd35a9e6",
"cardNumber" : "5430149160516930",
"methodNotificationUrl" : "methodNotificationUrl.exemple.com"
}
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
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 591
{
"requestUuid" : "8e5b2bd0-49fb-41fc-85e4-9b2e127785fb",
"cardAuthenticationId" : "a0c315a8-bd29-4e9f-9a71-35e788e63d2f",
"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[]
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 550
{
"requestUuid" : "5cd0d4d0-44ac-4f90-ae0a-de72c94b999b",
"cardAuthenticationId" : "f61d2895-8e3c-4179-933c-94c2eb7c6b73",
"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[]
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
Content-Length: 230
{
"requestUuid" : "e4bd21ff-e24c-445c-86fb-98a12819deb8",
"status" : "E03003",
"message" : "Card number not Enrolled in 3DS v2",
"httpStatus" : "UNPROCESSABLE_ENTITY",
"traceId" : "d0d34b00-d548-42fb-9a92-21abcd64330d"
}
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
Content-Length: 224
{
"requestUuid" : "d3a387e8-c824-4a3e-b780-1a4879f6e928",
"status" : "E03005",
"message" : "Issuer card is not supported",
"httpStatus" : "UNPROCESSABLE_ENTITY",
"traceId" : "4113b80d-81b1-4fa8-8796-f0050c71e1b8"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Unique id for this http request register in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
3.2. Authentication
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" : "6b3c2fa1-adb7-45ef-af95-e1a7ead20dcc",
"cardAuthenticationId" : "249b4a02-04b9-4527-9aac-05b55d35dc71",
"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"
}
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 |
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 |
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
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 280
{
"requestUuid" : "0db87a95-32d0-4f82-ac92-2eef05319cfd",
"transactionStatus" : "Y",
"transactionXId" : "5f2458d2-db21-4d70-b2cb-80e078a30a6d",
"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[]
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 777
{
"requestUuid" : "a7b7974b-588f-4291-8ad5-0abddfc8e792",
"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[]
HTTP/1.1 500 Internal Server Error
Content-Type: application/json
Content-Length: 227
{
"requestUuid" : "31567049-fec7-4aa9-ba8a-29a1086215fe",
"status" : "E03000",
"message" : "Error mpi V2 - failed internal",
"httpStatus" : "INTERNAL_SERVER_ERROR",
"traceId" : "c32185d9-9f9f-4296-981e-bbd92f0c407f"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Unique id for this http request register in system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
HTTP/1.1 500 Internal Server Error
Content-Type: application/json
Content-Length: 227
{
"requestUuid" : "31567049-fec7-4aa9-ba8a-29a1086215fe",
"status" : "E03000",
"message" : "Error mpi V2 - failed internal",
"httpStatus" : "INTERNAL_SERVER_ERROR",
"traceId" : "c32185d9-9f9f-4296-981e-bbd92f0c407f"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Unique id for this http request register in system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
3.3. Authentication Details
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/6c519ed2-e243-491b-988a-9abc2817d4d1 HTTP/1.1
Authorization: Basic bmFtZTpwYXNzd29yZA==
Host: processor-staging.fenige.pl
Parameter | Description |
---|---|
|
Unique identifier for 3ds verification |
3.3.2. Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 411
{
"cardAuthenticationId" : "4e745872-8707-400e-9a14-94bdf18c991a",
"provider" : "MASTERCARD",
"transactionStatus" : "Y",
"cardAuthenticationStatus" : "AUTHENTICATION_FINISHED",
"transactionXId" : "a03f3797-315c-4f87-9fff-74a20fa236b0",
"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
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 |
---|---|---|---|
|
|
|
Request’s unique uuid in system |
|
|
|
Unique merchant id in system |
|
|
|
Unique merchant name in system |
|
|
|
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 |
|
|
|
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
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 |
---|---|---|
|
|
Response code from Fenige system. |
|
|
Message for response code from Fenige system. |
|
|
Response http status. |
|
|
Request’s unique uuid in system. |
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 |
---|---|---|
|
|
Response code from Fenige system. |
|
|
Message for response code from Fenige system. |
|
|
Response http status. |
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 |
---|---|---|
|
|
Time stamp. |
|
|
Response code from Fenige system. |
|
|
Response http status. |
|
|
Message for response code from Fenige system. |
|
|
Path. |
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/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 |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Response code from Fenige system. |
|
|
Message for response code from Fenige system. |
|
|
Response http status. |
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 |
---|---|---|
|
|
Response code from Fenige system. |
|
|
Message for response code from Fenige system. |
|
|
Response http status. |
4.2. Edit merchant
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 |
---|---|---|---|
|
|
|
Request’s unique uuid in system |
|
|
|
Old unique merchant id in system |
|
|
|
Old unique merchant name in system |
|
|
|
Reason for deleting the merchant |
|
|
|
New unique merchant id in system, could be the same as old one |
|
|
|
New unique merchant name in system |
|
|
|
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 |
|
|
|
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
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 |
---|---|---|
|
|
Response code from Fenige system. |
|
|
Message for response code from Fenige system. |
|
|
Response http status. |
|
|
Request’s unique uuid in system. |
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 |
---|---|---|
|
|
Response code from Fenige system. |
|
|
Message for response code from Fenige system. |
|
|
Response http status. |
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 |
---|---|---|
|
|
Time stamp. |
|
|
Response code from Fenige system. |
|
|
Response http status. |
|
|
Message for response code from Fenige system. |
|
|
Path. |
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/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 |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Response code from Fenige system. |
|
|
Message for response code from Fenige system. |
|
|
Response http status. |
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 |
---|---|---|
|
|
Response code from Fenige system. |
|
|
Message for response code from Fenige system. |
|
|
Response http status. |
4.3. Delete merchant
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 |
---|---|---|---|
|
|
|
Request’s unique uuid in system |
|
|
|
Unique merchant id in system |
|
|
|
Unique merchant name in system |
|
|
|
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 |
|
|
|
Reason for deleting the merchant |
|
|
|
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
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 |
---|---|---|
|
|
Response code from Fenige system. |
|
|
Message for response code from Fenige system. |
|
|
Response http status. |
|
|
Request’s unique uuid in system. |
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 |
---|---|---|
|
|
Response code from Fenige system. |
|
|
Message for response code from Fenige system. |
|
|
Response http status. |
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 |
---|---|---|
|
|
Time stamp. |
|
|
Response code from Fenige system. |
|
|
Response http status. |
|
|
Message for response code from Fenige system. |
|
|
Path. |
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 |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Response code from Fenige system. |
|
|
Message for response code from Fenige system. |
|
|
Response http status. |
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 |
---|---|---|
|
|
Response code from Fenige system. |
|
|
Message for response code from Fenige system. |
|
|
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.

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 |
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
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"
]
}
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"
]
}
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 |
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
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"
}
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
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[]
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[]
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"
}
Path | Type | Description |
---|---|---|
|
|
Time stamp |
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Message for response code from Fenige system |
|
|
Path |
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" : "dd053a2c-460a-4e94-b07d-7815af6149a1"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Id of error trace |
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" : "2be6fd7c-f0f3-420d-9b25-188145577750"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Id of error trace |
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" : "8e8d2c10-d74d-416d-99ea-943f295d782b"
}
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" : "485368f0-5823-438a-8ff2-6d5f77300a6a"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Id of error trace |
6.2. Currency rate
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-11-06 01:31:38"
}
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
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[]
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[]
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[]
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"
}
Path | Type | Description |
---|---|---|
|
|
Time stamp |
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Message for response code from Fenige system |
|
|
Path |
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" : "06018842-9d74-4f13-b41c-145cf9a6f2db"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Id of error trace |
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" : "dc009f5d-c93d-40b6-b6ea-4662c4ca1ee5"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Id of error trace |
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" : "9db30cbb-e9d6-491f-94fc-68a4113fd122"
}
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" : "5a3a22ae-4120-4862-b920-6e97e1bf1e27"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Id of error trace |
6.3. Card provider
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" : "8a9a51ca-4a35-45a7-9d12-e01aeb1da830",
"cardNumber" : "5117964247989169"
}
Name | Description |
---|---|
|
Basic auth credentials for PSP |
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
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 160
{
"status" : "S00000",
"message" : "SUCCESS",
"httpStatus" : "OK",
"requestUuid" : "8a9a51ca-4a35-45a7-9d12-e01aeb1da830",
"provider" : "MASTERCARD"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Request’s unique uuid in system |
|
|
Card’s provider |
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"
}
Path | Type | Description |
---|---|---|
|
|
Time stamp |
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Message for response code from Fenige system |
|
|
Path |
HTTP/1.1 500 Internal Server Error
Content-Type: application/json
Content-Length: 151
{
"status" : "E90000",
"message" : "Domain error",
"httpStatus" : "INTERNAL_SERVER_ERROR",
"traceId" : "5f9fd670-7cfe-4faf-95d9-7fdfe175a2e5"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Id of trace |
HTTP/1.1 503 Service Unavailable
Content-Type: application/json
Content-Length: 157
{
"status" : "E90002",
"message" : "Error mpi connection",
"httpStatus" : "SERVICE_UNAVAILABLE",
"traceId" : "0b0eb082-f7b6-4c05-89e0-8ff1ff0f3678"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Id of trace |
6.4. Payment
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.


6.4.1. Request
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"
}
}
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 |
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 |
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 |
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"
}
}
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 |
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 |
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 |
---|---|
|
Returned when transaction was successfully authorized. |
|
STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid. |
|
STATUS: E80002 - Returned when you are the problem with authorized to your PSP. |
|
STATUS: E001598 - Returned when transactionUUID already exists. |
|
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. |
|
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. |
|
STATUS: E90001 - Returned when is error acquirer connection. STATUS: E90002 - Returned when is error mpi connection. |
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"
}
Path | Type | Description |
---|---|---|
|
|
Unique transaction uuid which, together with the merchantId, identifies transactions |
|
|
Request’s unique uuid in system |
|
|
Transaction status |
|
|
Response code |
rrn |
|
Retrieval Reference Number |
stan |
|
System Trace Audit Number (STAN) |
provider |
|
Card’s provider |
banknetReferenceNumber |
|
Unique data element, assigned by Mastercard, which identifies an authorization transaction. Available only for Mastercard transactions. |
cardType |
|
Card type for Mastercard: MCC - Credit Mastercard Card type for Visa: C - Credit |
defaultCurrency |
|
Default card currency |
bankName |
|
Bank name only for Mastercard |
countryCardIssuing |
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
countryCodeNumeric |
|
Country code numeric for Mastercard: Country code numeric for Visa: |
region |
|
Region for Mastercard: - UNITED_STATES Region for Visa: 1 = US |
gcmsProductId |
|
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 |
|
EEA Domestic Rate Qualification Indicator only for Mastercard:
Valid values: |
binType |
|
Bin type only for VISA F = Full Service |
domain |
|
Domain only for VISA: W = (Worldwide) |
productId |
|
Product ID only for VISA. This field contains the Product ID values: |
settlementMatch |
|
Settlement match only for VISA: B = (B2B) |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Unique transaction uuid which, together with the merchantId, identifies transactions |
|
|
Request’s unique uuid in system |
|
|
Transaction status |
|
|
Response code |
rrn |
|
Retrieval Reference Number |
stan |
|
System Trace Audit Number (STAN) |
provider |
|
Card’s provider |
cardType |
|
Card type for Mastercard: MCC - Credit Mastercard Card type for Visa: C - Credit |
defaultCurrency |
|
Default card currency |
countryCardIssuing |
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
countryCodeNumeric |
|
Country code numeric for Mastercard: Country code numeric for Visa: |
region |
|
Region for Mastercard: - UNITED_STATES Region for Visa: 1 = US |
binType |
|
Bin type only for VISA F = Full Service |
domain |
|
Domain only for VISA: W = (Worldwide) |
productId |
|
Product ID only for VISA. This field contains the Product ID values: |
settlementMatch |
|
Settlement match only for VISA: B = (B2B) |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Time stamp |
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Message for response code from Fenige system |
|
|
Path |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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/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/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/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/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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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/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/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/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/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/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/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/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/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/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/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/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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
6.5. MO/TO payment
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.


6.5.1. Request
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"
}
}
Name |
Description |
|
Basic auth credentials for Acquirer |
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 |
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"
}
}
Name |
Description |
|
Basic auth credentials for Acquirer |
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 |
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"
}
}
Name |
Description |
|
Basic auth credentials for Acquirer |
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 |
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"
}
}
Name |
Description |
|
Basic auth credentials for Acquirer |
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 |
---|---|
|
STATUS: S00002 - Returned when transaction was successfully authorized. |
|
STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid. |
|
STATUS: E80002 - Returned when you are the problem with authorized to your PSP. |
|
STATUS: E80001 - Returned when server understood the request but refuses to authorize it. |
|
STATUS: E00155 - Returned when not found transaction or transaction not exist. |
|
STATUS: E001598 - Returned when transactionUUID already exists. |
|
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. |
|
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. |
|
STATUS: E90001 - Returned when is error acquirer connection. STATUS: E90002 - Returned when is error mpi connection. |
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"
}
Path | Type | Description |
---|---|---|
|
|
Transaction’s unique uuid in system |
|
|
Request’s unique uuid in system |
|
|
Transaction status |
|
|
Response code |
rrn |
|
Retrieval Reference Number |
stan |
|
System Trace Audit Number (STAN) |
provider |
|
Card’s provider |
banknetReferenceNumber |
|
Unique data element, assigned by Mastercard, which identifies an authorization transaction. Available only for Mastercard transactions. |
cardType |
|
Card type for Mastercard: MCC - Credit Mastercard Card type for Visa: C - Credit |
defaultCurrency |
|
Default card currency |
bankName |
|
Bank name only for Mastercard |
countryCardIssuing |
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
countryCodeNumeric |
|
Country code numeric for Mastercard: Country code numeric for Visa: |
region |
|
Region for Mastercard: - UNITED_STATES Region for Visa: 1 = US |
gcmsProductId |
|
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 |
|
EEA Domestic Rate Qualification Indicator only for Mastercard:
Valid values: |
binType |
|
Bin type only for VISA F = Full Service |
domain |
|
Domain only for VISA: W = (Worldwide) |
productId |
|
Product ID only for VISA. This field contains the Product ID values: |
settlementMatch |
|
Settlement match only for VISA: B = (B2B) |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Unique transaction uuid which, together with the merchantId, identifies transactions |
|
|
Request’s unique uuid in system |
|
|
Transaction status |
|
|
Response code |
rrn |
|
Retrieval Reference Number |
stan |
|
System Trace Audit Number (STAN) |
provider |
|
Card’s provider |
cardType |
|
Card type for Mastercard: MCC - Credit Mastercard Card type for Visa: C - Credit |
defaultCurrency |
|
Default card currency |
countryCardIssuing |
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
countryCodeNumeric |
|
Country code numeric for Mastercard: Country code numeric for Visa: |
region |
|
Region for Mastercard: - UNITED_STATES Region for Visa: 1 = US |
binType |
|
Bin type only for VISA F = Full Service |
domain |
|
Domain only for VISA: W = (Worldwide) |
productId |
|
Product ID only for VISA. This field contains the Product ID values: |
settlementMatch |
|
Settlement match only for VISA: B = (B2B) |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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/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"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Time stamp |
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Message for response code from Fenige system |
|
|
Path |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
6.6. Token payment
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.



6.6.1. Request
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"
}
}
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 |
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"
}
}
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 |
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"
}
}
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 |
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 |
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 |
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"
}
}
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 |
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 |
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 |
---|---|
|
Returned when transaction was successfully authorized. |
|
STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid. |
|
STATUS: E80002 - Returned when you are the problem with authorized to your PSP. |
|
STATUS: E001598 - Returned when transactionUUID already exists. |
|
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. |
|
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. |
|
STATUS: E90001 - Returned when is error acquirer connection. STATUS: E90002 - Returned when is error mpi connection. |
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"
}
Path | Type | Description |
---|---|---|
|
|
Unique transaction uuid which, together with the merchantId, identifies transactions |
|
|
Request’s unique uuid in system |
|
|
Transaction status |
|
|
Response code |
rrn |
|
Retrieval Reference Number |
stan |
|
System Trace Audit Number (STAN) |
provider |
|
Card’s provider |
banknetReferenceNumber |
|
Unique data element, assigned by Mastercard, which identifies an authorization transaction. Available only for Mastercard transactions. |
cardType |
|
Card type for Mastercard: MCC - Credit Mastercard Card type for Visa: C - Credit |
defaultCurrency |
|
Default card currency |
bankName |
|
Bank name only for Mastercard |
countryCardIssuing |
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
countryCodeNumeric |
|
Country code numeric for Mastercard: Country code numeric for Visa: |
region |
|
Region for Mastercard: - UNITED_STATES Region for Visa: 1 = US |
gcmsProductId |
|
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 |
|
EEA Domestic Rate Qualification Indicator only for Mastercard:
Valid values: |
binType |
|
Bin type only for VISA F = Full Service |
domain |
|
Domain only for VISA: W = (Worldwide) |
productId |
|
Product ID only for VISA. This field contains the Product ID values: |
settlementMatch |
|
Settlement match only for VISA: B = (B2B) |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Unique transaction uuid which, together with the merchantId, identifies transactions |
|
|
Request’s unique uuid in system |
|
|
Transaction status |
|
|
Response code |
rrn |
|
Retrieval Reference Number |
stan |
|
System Trace Audit Number (STAN) |
provider |
|
Card’s provider |
cardType |
|
Card type for Mastercard: MCC - Credit Mastercard Card type for Visa: C - Credit |
defaultCurrency |
|
Default card currency |
countryCardIssuing |
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
countryCodeNumeric |
|
Country code numeric for Mastercard: Country code numeric for Visa: |
region |
|
Region for Mastercard: - UNITED_STATES Region for Visa: 1 = US |
binType |
|
Bin type only for VISA F = Full Service |
domain |
|
Domain only for VISA: W = (Worldwide) |
productId |
|
Product ID only for VISA. This field contains the Product ID values: |
settlementMatch |
|
Settlement match only for VISA: B = (B2B) |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Time stamp |
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Message for response code from Fenige system |
|
|
Path |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
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. |


6.7.1. CoF Initial
Request
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"
}
}
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 |
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 |
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 |
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"
}
}
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 |
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 |
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 |
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"
}
}
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 |
---|---|
|
Returned when transaction was successfully authorized. |
|
STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid. |
|
STATUS: E80002 - Returned when you are the problem with authorized to your PSP. |
|
STATUS: E001598 - Returned when transactionUUID already exists. STATUS: E001602 - Transaction rejected, initial uuid already exists. |
|
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. |
|
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. |
|
STATUS: E90001 - Returned when is error acquirer connection. STATUS: E90002 - Returned when is error mpi connection. |
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 |
---|---|---|
|
|
Transaction’s unique uuid in system |
|
|
Request’s unique uuid in system |
|
|
Cof Initial unique uuid in system |
|
|
Transaction status |
|
|
Response code |
rrn |
|
Retrieval Reference Number |
stan |
|
System Trace Audit Number (STAN) |
provider |
|
Card’s provider |
banknetReferenceNumber |
|
Unique data element, assigned by Mastercard, which identifies an authorization transaction. Available only for Mastercard transactions. |
cardType |
|
Card type for Mastercard: MCC - Credit Mastercard Card type for Visa: C - Credit |
defaultCurrency |
|
Default card currency |
bankName |
|
Bank name only for Mastercard |
countryCardIssuing |
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
countryCodeNumeric |
|
Country code numeric for Mastercard: Country code numeric for Visa: |
region |
|
Region for Mastercard: - UNITED_STATES Region for Visa: 1 = US |
gcmsProductId |
|
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 |
|
EEA Domestic Rate Qualification Indicator only for Mastercard:
Valid values: |
binType |
|
Bin type only for VISA F = Full Service |
domain |
|
Domain only for VISA: W = (Worldwide) |
productId |
|
Product ID only for VISA. This field contains the Product ID values: |
settlementMatch |
|
Settlement match only for VISA: B = (B2B) |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Unique transaction uuid which, together with the merchantId, identifies transactions |
|
|
Request’s unique uuid in system |
|
|
Cof Initial unique uuid in system |
|
|
Transaction status |
|
|
Response code |
rrn |
|
Retrieval Reference Number |
stan |
|
System Trace Audit Number (STAN) |
provider |
|
Card’s provider |
cardType |
|
Card type for Mastercard: MCC - Credit Mastercard Card type for Visa: C - Credit |
defaultCurrency |
|
Default card currency |
countryCardIssuing |
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
countryCodeNumeric |
|
Country code numeric for Mastercard: Country code numeric for Visa: |
region |
|
Region for Mastercard: - UNITED_STATES Region for Visa: 1 = US |
binType |
|
Bin type only for VISA F = Full Service |
domain |
|
Domain only for VISA: W = (Worldwide) |
productId |
|
Product ID only for VISA. This field contains the Product ID values: |
settlementMatch |
|
Settlement match only for VISA: B = (B2B) |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Time stamp |
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Message for response code from Fenige system |
|
|
Path |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
6.7.2. CoF Subsequent
Request
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"
}
}
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 |
Cardholder Authentication Verification Value |
outside3dsRequest.eci |
String |
@Length must be between 1 and 2 inclusive, @Must match the regular expression |
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 |
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 |
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"
}
}
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 |
Cardholder Authentication Verification Value |
outside3dsRequest.eci |
String |
@Length must be between 1 and 2 inclusive, @Must match the regular expression |
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 |
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 |
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"
}
}
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 |
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"
}
}
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 |
Cardholder Authentication Verification Value |
outside3dsRequest.eci |
String |
@Length must be between 1 and 2 inclusive, @Must match the regular expression |
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 |
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 |
---|---|
|
Returned when transaction was successfully authorized. |
|
STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid. |
|
STATUS: E80002 - Returned when you are the problem with authorized to your PSP. |
|
STATUS: E001598 - Returned when transactionUUID already exists. |
|
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. |
|
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. |
|
STATUS: E90001 - Returned when is error acquirer connection. STATUS: E90002 - Returned when is error mpi connection. |
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 |
---|---|---|
|
|
Transaction’s unique uuid in system |
|
|
Request’s unique uuid in system |
|
|
Cof Initial unique uuid in system |
|
|
Transaction status |
|
|
Response code |
rrn |
|
Retrieval Reference Number |
stan |
|
System Trace Audit Number (STAN) |
provider |
|
Card’s provider |
banknetReferenceNumber |
|
Unique data element, assigned by Mastercard, which identifies an authorization transaction. Available only for Mastercard transactions. |
cardType |
|
Card type for Mastercard: MCC - Credit Mastercard Card type for Visa: C - Credit |
defaultCurrency |
|
Default card currency |
bankName |
|
Bank name only for Mastercard |
countryCardIssuing |
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
countryCodeNumeric |
|
Country code numeric for Mastercard: Country code numeric for Visa: |
region |
|
Region for Mastercard: - UNITED_STATES Region for Visa: 1 = US |
gcmsProductId |
|
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 |
|
EEA Domestic Rate Qualification Indicator only for Mastercard:
Valid values: |
binType |
|
Bin type only for VISA F = Full Service |
domain |
|
Domain only for VISA: W = (Worldwide) |
productId |
|
Product ID only for VISA. This field contains the Product ID values: |
settlementMatch |
|
Settlement match only for VISA: B = (B2B) |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Unique transaction uuid which, together with the merchantId, identifies transactions |
|
|
Request’s unique uuid in system |
|
|
Cof Initial unique uuid in system |
|
|
Transaction status |
|
|
Response code |
rrn |
|
Retrieval Reference Number |
stan |
|
System Trace Audit Number (STAN) |
provider |
|
Card’s provider |
cardType |
|
Card type for Mastercard: MCC - Credit Mastercard Card type for Visa: C - Credit |
defaultCurrency |
|
Default card currency |
countryCardIssuing |
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
countryCodeNumeric |
|
Country code numeric for Mastercard: Country code numeric for Visa: |
region |
|
Region for Mastercard: - UNITED_STATES Region for Visa: 1 = US |
binType |
|
Bin type only for VISA F = Full Service |
domain |
|
Domain only for VISA: W = (Worldwide) |
productId |
|
Product ID only for VISA. This field contains the Product ID values: |
settlementMatch |
|
Settlement match only for VISA: B = (B2B) |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Time stamp |
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Message for response code from Fenige system |
|
|
Path |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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/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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
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. |


6.8.1. Recurring Initial
Request
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"
}
}
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 |
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 |
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 |
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"
}
}
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 |
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 |
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 |
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"
}
}
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 |
---|---|
|
Returned when transaction was successfully authorized. |
|
STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid. |
|
STATUS: E80002 - Returned when you are the problem with authorized to your PSP. |
|
STATUS: E001598 - Returned when transactionUUID already exists. STATUS: E001602 - Transaction rejected, initial uuid already exists. |
|
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. |
|
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. |
|
STATUS: E90001 - Returned when is error acquirer connection. STATUS: E90002 - Returned when is error mpi connection. |
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"
}
Path | Type | Description |
---|---|---|
|
|
Transaction’s unique uuid in system |
|
|
Request’s unique uuid in system |
|
|
Recurring Initial unique uuid in system |
|
|
Transaction status |
|
|
Response code |
rrn |
|
Retrieval Reference Number |
stan |
|
System Trace Audit Number (STAN) |
provider |
|
Card’s provider |
banknetReferenceNumber |
|
Unique data element, assigned by Mastercard, which identifies an authorization transaction. Available only for Mastercard transactions. |
cardType |
|
Card type for Mastercard: MCC - Credit Mastercard Card type for Visa: C - Credit |
defaultCurrency |
|
Default card currency |
bankName |
|
Bank name only for Mastercard |
countryCardIssuing |
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
countryCodeNumeric |
|
Country code numeric for Mastercard: Country code numeric for Visa: |
region |
|
Region for Mastercard: - UNITED_STATES Region for Visa: 1 = US |
gcmsProductId |
|
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 |
|
EEA Domestic Rate Qualification Indicator only for Mastercard:
Valid values: |
binType |
|
Bin type only for VISA F = Full Service |
domain |
|
Domain only for VISA: W = (Worldwide) |
productId |
|
Product ID only for VISA. This field contains the Product ID values: |
settlementMatch |
|
Settlement match only for VISA: B = (B2B) |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Unique transaction uuid which, together with the merchantId, identifies transactions |
|
|
Request’s unique uuid in system |
|
|
Recurring Initial unique uuid in system |
|
|
Transaction status |
|
|
Response code |
rrn |
|
Retrieval Reference Number |
stan |
|
System Trace Audit Number (STAN) |
provider |
|
Card’s provider |
cardType |
|
Card type for Mastercard: MCC - Credit Mastercard Card type for Visa: C - Credit |
defaultCurrency |
|
Default card currency |
countryCardIssuing |
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
countryCodeNumeric |
|
Country code numeric for Mastercard: Country code numeric for Visa: |
region |
|
Region for Mastercard: - UNITED_STATES Region for Visa: 1 = US |
binType |
|
Bin type only for VISA F = Full Service |
domain |
|
Domain only for VISA: W = (Worldwide) |
productId |
|
Product ID only for VISA. This field contains the Product ID values: |
settlementMatch |
|
Settlement match only for VISA: B = (B2B) |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Time stamp |
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Message for response code from Fenige system |
|
|
Path |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
6.8.2. Recurring Subsequent
Request
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"
}
}
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 |
Cardholder Authentication Verification Value |
outside3dsRequest.eci |
String |
@Length must be between 1 and 2 inclusive, @Must match the regular expression |
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 |
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 |
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"
}
}
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 |
Cardholder Authentication Verification Value |
outside3dsRequest.eci |
String |
@Length must be between 1 and 2 inclusive, @Must match the regular expression |
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 |
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 |
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"
}
}
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 |
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"
}
}
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 |
Cardholder Authentication Verification Value |
outside3dsRequest.eci |
String |
@Length must be between 1 and 2 inclusive, @Must match the regular expression |
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 |
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 |
---|---|
|
Returned when transaction was successfully authorized. |
|
STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid. |
|
STATUS: E80002 - Returned when you are the problem with authorized to your PSP. |
|
STATUS: E001598 - Returned when transactionUUID already exists. |
|
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. |
|
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. |
|
STATUS: E90001 - Returned when is error acquirer connection. STATUS: E90002 - Returned when is error mpi connection. |
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"
}
Path | Type | Description |
---|---|---|
|
|
Transaction’s unique uuid in system |
|
|
Request’s unique uuid in system |
|
|
Recurring Initial unique uuid in system |
|
|
Transaction status |
|
|
Response code |
rrn |
|
Retrieval Reference Number |
stan |
|
System Trace Audit Number (STAN) |
provider |
|
Card’s provider |
banknetReferenceNumber |
|
Unique data element, assigned by Mastercard, which identifies an authorization transaction. Available only for Mastercard transactions. |
cardType |
|
Card type for Mastercard: MCC - Credit Mastercard Card type for Visa: C - Credit |
defaultCurrency |
|
Default card currency |
bankName |
|
Bank name only for Mastercard |
countryCardIssuing |
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
countryCodeNumeric |
|
Country code numeric for Mastercard: Country code numeric for Visa: |
region |
|
Region for Mastercard: - UNITED_STATES Region for Visa: 1 = US |
gcmsProductId |
|
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 |
|
EEA Domestic Rate Qualification Indicator only for Mastercard:
Valid values: |
binType |
|
Bin type only for VISA F = Full Service |
domain |
|
Domain only for VISA: W = (Worldwide) |
productId |
|
Product ID only for VISA. This field contains the Product ID values: |
settlementMatch |
|
Settlement match only for VISA: B = (B2B) |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Unique transaction uuid which, together with the merchantId, identifies transactions |
|
|
Request’s unique uuid in system |
|
|
Recurring Initial unique uuid in system |
|
|
Transaction status |
|
|
Response code |
rrn |
|
Retrieval Reference Number |
stan |
|
System Trace Audit Number (STAN) |
provider |
|
Card’s provider |
cardType |
|
Card type for Mastercard: MCC - Credit Mastercard Card type for Visa: C - Credit |
defaultCurrency |
|
Default card currency |
countryCardIssuing |
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
countryCodeNumeric |
|
Country code numeric for Mastercard: Country code numeric for Visa: |
region |
|
Region for Mastercard: - UNITED_STATES Region for Visa: 1 = US |
binType |
|
Bin type only for VISA F = Full Service |
domain |
|
Domain only for VISA: W = (Worldwide) |
productId |
|
Product ID only for VISA. This field contains the Product ID values: |
settlementMatch |
|
Settlement match only for VISA: B = (B2B) |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Time stamp |
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Message for response code from Fenige system |
|
|
Path |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
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.


6.9.1. Installment Initial
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
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"
}
}
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 |
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 |
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 |
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"
}
}
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 |
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 |
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 |
---|---|
|
Returned when transaction was successfully authorized. |
|
STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid. |
|
STATUS: E80002 - Returned when you are the problem with authorized to your PSP. |
|
STATUS: E001598 - Returned when transactionUUID already exists. |
|
STATUS: E00158 - Returned when Cardholder Currency Indicator is invalid for DCC transaction. STATUS: E001599 - Returned when card expiration date is invalid. |
|
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. |
|
STATUS: E90001 - Returned when is error acquirer connection. STATUS: E90002 - Returned when is error mpi connection. |
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"
}
Path |
Type |
Description |
|
|
Request’s unique uuid in system |
|
|
Unique transaction uuid which, together with the merchantId, identifies transactions, is used in installment step 2 to identify initial transaction |
|
|
Transaction status |
|
|
Transaction Installment Payment processing status |
|
|
Transaction Installment Payment type information, may be: ISSUER_FINANCED, MERCHANT_FINANCED, ACQUIRER_FINANCED, CO_BRANDED_MERCHANT_FINANCED, ISSUER_MERCHANT_CO_FINANCED |
|
|
Transaction Installment Payment user possible options may be: PAY_IN_INSTALLMENTS, PAY_IN_FULL or CANCEL |
|
|
Installment Payment plan configuration List for Mastercard Format 1 |
|
|
Installment Payment plan configuration List for Mastercard Format 2 |
|
|
Response code |
rrn |
|
Retrieval Reference Number |
stan |
|
System Trace Audit Number (STAN) |
provider |
|
Card’s provider |
cardType |
|
Card type for Mastercard: MCC - Credit Mastercard |
defaultCurrency |
|
Default card currency |
bankName |
|
Bank name only for Mastercard |
countryCardIssuing |
|
Country card Issuing for Mastercard: |
countryCodeNumeric |
|
Country code numeric for Mastercard: |
region |
|
Region for Mastercard: - UNITED_STATES |
gcmsProductId |
|
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 |
|
EEA Domestic Rate Qualification Indicator only for Mastercard:
Valid values: |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
Path |
Type |
Description |
|
|
Unique plan uuid in system. Required to select in step 2 installment decision |
|
|
Plan format label, may be FORMAT_1 for this configuration |
|
|
Number of installments contains the number of installment payments provided by the issuer |
|
|
Interest rate contains the rate (two decimal places) that the issuer assesses the cardholder for the installment payment |
|
|
Installment Fee contains the fee amount in cardholder billing currency that the issuer assesses the cardholder for the installment payments |
|
|
Annual Percentage Rate contains the rate (two decimal places) that the issuer charges the cardholder for the installment payment |
|
|
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 |
|
|
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 |
|
|
Total Amount Due contains the total amount due in cardholder billing currency that the issuer charges the cardholder for the installment payments |
Path |
Type |
Description |
|
|
Unique plan uuid in system. Required to select in step 2 installment decision |
|
|
Plan format label, may be FORMAT_2 for this configuration |
|
|
Minimum number of installments contains the minimum number of installments payments provided by the issuer |
|
|
Maximum number of installments contains the maximum number of installments payments provided by the issuer |
|
|
Interest rate contains the rate (two decimal places) that the issuer assesses the cardholder for the installment payment |
|
|
Installment Fee contains the fee amount in cardholder billing currency that the issuer assesses the cardholder for the installment payments |
|
|
Annual Percentage Rate contains the rate (two decimal places) that the issuer charges the cardholder for the installment payment |
|
|
Total Amount Due contains the total amount due in cardholder billing currency that the issuer charges the cardholder for the installment payments |
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"
}
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"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Time stamp |
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Message for response code from Fenige system |
|
|
Path |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
6.9.2. Installment Confirm
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"
}
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 |
---|---|
|
Returned when transaction was successfully authorized. |
|
STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid. |
|
STATUS: E80002 - Returned when you are the problem with authorized to your PSP. |
|
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. |
|
STATUS: E90001 - Returned when is error acquirer connection. STATUS: E90002 - Returned when is error mpi connection. |
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"
}
Path | Type | Description |
---|---|---|
|
|
Unique transaction uuid which, together with the merchantId, identifies transactions |
|
|
Response code |
rrn |
|
Retrieval Reference Number |
stan |
|
System Trace Audit Number (STAN) |
provider |
|
Card’s provider |
cardType |
|
Card type for Mastercard: MCC - Credit Mastercard |
defaultCurrency |
|
Default card currency |
bankName |
|
Bank name only for Mastercard |
countryCardIssuing |
|
Country card Issuing for Mastercard: |
countryCodeNumeric |
|
Country code numeric for Mastercard: |
region |
|
Region for Mastercard: - UNITED_STATES |
gcmsProductId |
|
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 |
|
EEA Domestic Rate Qualification Indicator only for Mastercard:
Valid values: |
|
|
Transaction Installment Payment processing status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Time stamp |
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Message for response code from Fenige system |
|
|
Path |
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/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/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/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/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/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/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/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/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/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/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/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/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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
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
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.

6.10.1. 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
}
Name | Description |
---|---|
|
Basic auth credentials for PSP |
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 |
---|---|
|
Returned when transaction was accepted. |
|
STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid. |
|
STATUS: E80002 - Returned when you are the problem with authorized to your PSP. |
|
STATUS: E80001 - Returned when server understood the request but refuses to authorize it. |
|
STATUS: E00155 - Returned when payment not exist. |
|
STATUS: E001598 - Returned when transactionUUID already exists. |
|
STATUS: E00160 - Returned when reversal of the payment is processing. STATUS: E00161 - Returned when can’t reversal for payment. |
|
STATUS: E001911 - Returned when installment payment reverse is not allowed. STATUS: E90000 - Returned when reason is unknown. |
|
STATUS: E90001 - Returned when is error acquirer connection. |
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"
}
Path | Type | Description |
---|---|---|
|
|
Transaction’s unique uuid in system |
|
|
Request’s unique uuid in system |
|
|
Transaction status |
|
|
Response code |
|
|
Retrieval Reference Number |
stan |
|
System Trace Audit Number (STAN) |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Timestamp |
|
|
Response code from Fenige system |
|
|
Error |
|
|
Message for response code from Fenige system |
|
|
Path |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Reversal status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Reversal status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Reversal status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
|
|
Links to other resources |
6.11. Refund
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.

6.11.1. 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
}
Name | Description |
---|---|
|
Basic auth credentials for PSP |
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) |
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
}
Name | Description |
---|---|
|
Basic auth credentials for PSP |
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) |
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
}
}
Name | Description |
---|---|
|
Basic auth credentials for PSP |
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 |
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
}
}
Name | Description |
---|---|
|
Basic auth credentials for PSP |
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 |
---|---|
|
STATUS: S0010 - Returned when refund was accepted. STATUS: S0011 - Returned when refund was declined STATUS: S00010 - Returned when emergency refund was executed. |
|
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. |
|
STATUS: E80002 - Returned when you are the problem with authorized to your PSP. |
|
STATUS: E80001 - Returned when server understood the request but refuses to authorize it. |
|
STATUS: E00155 - Returned when not found transaction or transaction not exist. |
|
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. |
|
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. |
|
STATUS: E90001 - Returned when is error acquirer connection. |
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/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"
}
Path | Type | Description |
---|---|---|
|
|
Transaction’s unique uuid in system |
|
|
Refund unique uuid in system, refund uuid must not be the same as transaction uuid |
|
|
Request’s unique uuid in system |
|
|
Transaction status |
|
|
Response code |
rrn |
|
Retrieval Reference Number |
stan |
|
System Trace Audit Number (STAN) |
provider |
|
Card’s provider |
cardType |
|
Card type for Mastercard: MCC - Credit Mastercard Card type for Visa: C - Credit |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Refund unique uuid in system, refund uuid must not be the same as transaction uuid |
|
|
Reversal status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Refund unique uuid in system, refund uuid must not be the same as transaction uuid |
|
|
Reversal status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Timestamp |
|
|
Response code from Fenige system |
|
|
Error |
|
|
Message for response code from Fenige system |
|
|
Path |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Refund unique uuid in system, refund uuid must not be the same as transaction uuid |
|
|
Reversal status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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/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/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/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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Refund unique uuid in system, refund uuid must not be the same as transaction uuid |
|
|
Reversal status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Refund unique uuid in system, refund uuid must not be the same as transaction uuid |
|
|
Reversal status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Unique transaction uuid which, together with the merchantId, identifies transactions |
|
|
Refund unique uuid in system, refund uuid must not be the same as transaction uuid |
|
|
Transaction status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
6.12. Clearing
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.

6.12.1. Full Clearing
Request
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"
}
Name | Description |
---|---|
|
Basic auth credentials for PSP |
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 |
---|---|
|
Returned when transaction was accepted. |
|
STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid. |
|
STATUS: E80002 - Returned when you are the problem with authorized to your PSP. |
|
STATUS: E80001 - Returned when server understood the request but refuses to authorize it. |
|
STATUS: E00155 - Returned when payment not exist. |
|
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: E90000 - Returned when reason is unknown. |
|
STATUS: E90001 - Returned when is error acquirer connection. |
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"
}
Path | Type | Description |
---|---|---|
|
|
Completion estimate for clearing |
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Timestamp |
|
|
Response code from Fenige system |
|
|
Error |
|
|
Message for response code from Fenige system |
|
|
Path |
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"
}
Path | Type | Description |
---|---|---|
|
|
Timestamp |
|
|
Response code from Fenige system |
|
|
Error |
|
|
Message for response code from Fenige system |
|
|
Path |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Clearing status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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/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/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/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/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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Clearing status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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 |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Clearing status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
6.12.2. Partial Clearing
Request
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
}
Name | Description |
---|---|
|
Basic auth credentials for PSP |
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 |
---|---|
|
Returned when transaction was accepted. |
|
STATUS: E80000 - Returned when request is incorrect, required fields are missing or the values are not valid. |
|
STATUS: E80002 - Returned when you are the problem with authorized to your PSP. |
|
STATUS: E80001 - Returned when server understood the request but refuses to authorize it. |
|
STATUS: E00155 - Returned when payment not exist. |
|
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 |
|
STATUS: E90000 - Returned when reason is unknown. |
|
STATUS: E90001 - Returned when is error acquirer connection. |
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"
}
Path | Type | Description |
---|---|---|
|
|
Completion estimate for clearing |
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Timestamp |
|
|
Response code from Fenige system |
|
|
Error |
|
|
Message for response code from Fenige system |
|
|
Path |
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"
}
Path | Type | Description |
---|---|---|
|
|
Timestamp |
|
|
Response code from Fenige system |
|
|
Error |
|
|
Message for response code from Fenige system |
|
|
Path |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Clearing status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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/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/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/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/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/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/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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Clearing status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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 |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Clearing status |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
6.13. Details
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/58860b4b-311d-4bc8-8bef-0c2c194d4183/d0b67306-53ee-4812-98b9-d04014de52dc/f8891060-f770-4179-ad1a-bf122496db76 HTTP/1.1
Authorization: Basic bmFtZTpwYXNzd29yZA==
Host: processor-staging.fenige.pl
Name | Description |
---|---|
|
Basic auth credentials for PSP |
Parameter | Description |
---|---|
|
Request’s unique uuid in system |
|
Transaction’s unique uuid in system |
|
Merchant’s unique id in system |
6.13.2. Response
Response status
Status | Description |
---|---|
|
Returned when transaction details was successfully returned. |
|
STATUS: E80002 - Returned when you are the problem with authorized to your PSP. |
|
STATUS: E80001 - Returned when server understood the request but refuses to authorize it. |
|
STATUS: E00154 - Returned when failed to fetch transaction details. STATUS: E90000 - Returned when reason is unknown. |
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 887
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"createdDate" : "2024-11-06 01:21:39",
"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 |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Merchant’s unique id in system |
|
|
Transaction creation date in format "yyyy-MM-dd HH:mm:ss" |
|
|
Transaction amount (in pennies) |
|
|
Transaction currency |
|
|
Card’s provider |
|
|
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 |
|
|
Masked card number |
|
|
Default currency code for card |
|
|
Bank name only for Mastercard |
|
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 |
|
|
Country code numeric for Mastercard:: - ISO 3166-1 Numeric |
|
|
Region for Mastercard: - UNITED_STATES - CANADA - LATINA_AMERICA_AND_THE_CARIBBEAN - ASIA_PACIFIC - EUROPE - SOUTH_ASIA_MIDDLE_EAST_AFRICA - ANY |
|
|
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. |
|
|
EEA Domestic Rate Qualification Indicator only for Mastercard: Y = EEA Domestic Rate qualified N = Not EEA Domestic Rate qualified |
|
|
TResponse code |
|
|
Retrieval Reference Number |
|
|
System Trace Audit Number (STAN) |
|
|
Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR |
|
|
Clearing amount (in pennies) |
|
|
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. |
|
|
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 |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1049
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"createdDate" : "2024-11-06 01:21:39",
"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/1.1 200 OK
Content-Type: application/json
Content-Length: 1049
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"createdDate" : "2024-11-06 01:21:39",
"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 |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Merchant’s unique id in system |
|
|
Transaction creation date in format "yyyy-MM-dd HH:mm:ss" |
|
|
Transaction amount (in pennies) |
|
|
Transaction currency |
|
|
Card’s provider |
|
|
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 |
|
|
Masked card number |
|
|
Default currency code for card |
|
|
Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
|
|
Country code numeric for Visa:: - ISO 3166-1 Numeric |
|
|
Region for Visa: 1 = US 2 = Canada 3 = Visa Europe 4 = Asia-Pacific 5 = Latin America and Carribean 6 = CEMEA |
|
|
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 for Visa: W = (Worldwide) R = (Regional) N = (National) D = (Domestic) |
|
|
Settlement match for Visa: B = (B2B) E = B2E Space = (Not applicable) |
|
|
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 |
|
|
Response code |
|
|
Retrieval Reference Number |
|
|
System Trace Audit Number (STAN) |
|
|
Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR |
|
|
Clearing amount (in pennies) |
|
|
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 |
|
|
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 |
|
|
File id clearing file’s to be sent to MC/VISA |
|
|
Acquirer Reference Number - Identification number assigned when generating FIRST_PRESENTMENT or TC_05 |
|
|
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. |
|
|
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 |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 946
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"createdDate" : "2024-11-06 01:21:39",
"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" : "4ca05255-a87f-4621-8c5b-6ad9d057f488",
"transactionStatus" : "APPROVED",
"clearingAmount" : 1000,
"autoClear" : true,
"authorizationType" : "CREDENTIAL_ON_FILE_INITIAL",
"status" : "S00000",
"message" : "SUCCESS",
"httpStatus" : "OK"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Merchant’s unique id in system |
|
|
Transaction creation date in format "yyyy-MM-dd HH:mm:ss" |
|
|
Transaction amount (in pennies) |
|
|
Transaction currency |
|
|
Card’s provider |
|
|
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 |
|
|
Masked card number |
|
|
Default currency code for card |
|
|
Bank name only for Mastercard |
|
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 |
|
|
Country code numeric for Mastercard:: - ISO 3166-1 Numeric |
|
|
Region for Mastercard: - UNITED_STATES - CANADA - LATINA_AMERICA_AND_THE_CARIBBEAN - ASIA_PACIFIC - EUROPE - SOUTH_ASIA_MIDDLE_EAST_AFRICA - ANY |
|
|
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. |
|
|
EEA Domestic Rate Qualification Indicator only for Mastercard: Y = EEA Domestic Rate qualified N = Not EEA Domestic Rate qualified |
|
|
TResponse code |
|
|
Retrieval Reference Number |
|
|
System Trace Audit Number (STAN) |
|
|
Cof Initial unique uuid in system |
|
|
Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR |
|
|
Clearing amount (in pennies) |
|
|
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. |
|
|
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 |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1152
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"createdDate" : "2024-11-06 01:21:39",
"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" : "4ca05255-a87f-4621-8c5b-6ad9d057f488",
"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/1.1 200 OK
Content-Type: application/json
Content-Length: 1152
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"createdDate" : "2024-11-06 01:21:39",
"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" : "4ca05255-a87f-4621-8c5b-6ad9d057f488",
"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 |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Merchant’s unique id in system |
|
|
Transaction creation date in format "yyyy-MM-dd HH:mm:ss" |
|
|
Transaction amount (in pennies) |
|
|
Transaction currency |
|
|
Card’s provider |
|
|
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 |
|
|
Masked card number |
|
|
Default currency code for card |
|
|
Bank name only for Mastercard |
|
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 |
|
|
Country code numeric for Mastercard:: - ISO 3166-1 Numeric |
|
|
Region for Mastercard: - UNITED_STATES - CANADA - LATINA_AMERICA_AND_THE_CARIBBEAN - ASIA_PACIFIC - EUROPE - SOUTH_ASIA_MIDDLE_EAST_AFRICA - ANY |
|
|
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. |
|
|
EEA Domestic Rate Qualification Indicator only for Mastercard: Y = EEA Domestic Rate qualified N = Not EEA Domestic Rate qualified |
|
|
Response code |
|
|
Retrieval Reference Number |
|
|
System Trace Audit Number (STAN) |
|
|
Cof Initial unique uuid in system |
|
|
Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR |
|
|
Clearing amount (in pennies) |
|
|
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 |
|
|
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 |
|
|
File id clearing file’s to be sent to MC/VISA |
|
|
Acquirer Reference Number - Identification number assigned when generating FIRST_PRESENTMENT or TC_05 |
|
|
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. |
|
|
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 |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 949
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"createdDate" : "2024-11-06 01:21:39",
"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" : "4ca05255-a87f-4621-8c5b-6ad9d057f488",
"transactionStatus" : "APPROVED",
"clearingAmount" : 1000,
"autoClear" : true,
"authorizationType" : "CREDENTIAL_ON_FILE_SUBSEQUENT",
"status" : "S00000",
"message" : "SUCCESS",
"httpStatus" : "OK"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Merchant’s unique id in system |
|
|
Transaction creation date in format "yyyy-MM-dd HH:mm:ss" |
|
|
Transaction amount (in pennies) |
|
|
Transaction currency |
|
|
Card’s provider |
|
|
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 |
|
|
Masked card number |
|
|
Default currency code for card |
|
|
Bank name only for Mastercard |
|
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 |
|
|
Country code numeric for Mastercard:: - ISO 3166-1 Numeric |
|
|
Region for Mastercard: - UNITED_STATES - CANADA - LATINA_AMERICA_AND_THE_CARIBBEAN - ASIA_PACIFIC - EUROPE - SOUTH_ASIA_MIDDLE_EAST_AFRICA - ANY |
|
|
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. |
|
|
EEA Domestic Rate Qualification Indicator only for Mastercard: Y = EEA Domestic Rate qualified N = Not EEA Domestic Rate qualified |
|
|
TResponse code |
|
|
Retrieval Reference Number |
|
|
System Trace Audit Number (STAN) |
|
|
Cof Initial unique uuid in system |
|
|
Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR |
|
|
Clearing amount (in pennies) |
|
|
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. |
|
|
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 |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1155
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"createdDate" : "2024-11-06 01:21:39",
"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" : "4ca05255-a87f-4621-8c5b-6ad9d057f488",
"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/1.1 200 OK
Content-Type: application/json
Content-Length: 1155
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"createdDate" : "2024-11-06 01:21:39",
"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" : "4ca05255-a87f-4621-8c5b-6ad9d057f488",
"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 |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Merchant’s unique id in system |
|
|
Transaction creation date in format "yyyy-MM-dd HH:mm:ss" |
|
|
Transaction amount (in pennies) |
|
|
Transaction currency |
|
|
Card’s provider |
|
|
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 |
|
|
Masked card number |
|
|
Default currency code for card |
|
|
Bank name only for Mastercard |
|
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 |
|
|
Country code numeric for Mastercard:: - ISO 3166-1 Numeric |
|
|
Region for Mastercard: - UNITED_STATES - CANADA - LATINA_AMERICA_AND_THE_CARIBBEAN - ASIA_PACIFIC - EUROPE - SOUTH_ASIA_MIDDLE_EAST_AFRICA - ANY |
|
|
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. |
|
|
EEA Domestic Rate Qualification Indicator only for Mastercard: Y = EEA Domestic Rate qualified N = Not EEA Domestic Rate qualified |
|
|
Response code |
|
|
Retrieval Reference Number |
|
|
System Trace Audit Number (STAN) |
|
|
Cof Initial unique uuid in system |
|
|
Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR |
|
|
Clearing amount (in pennies) |
|
|
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 |
|
|
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 |
|
|
File id clearing file’s to be sent to MC/VISA |
|
|
Acquirer Reference Number - Identification number assigned when generating FIRST_PRESENTMENT or TC_05 |
|
|
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. |
|
|
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 |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 899
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"createdDate" : "2024-11-06 01:21:39",
"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" : "7d8ef9b8-5157-4068-a56f-5bb6e6ffebf5",
"transactionStatus" : "APPROVED",
"clearingAmount" : 1000,
"autoClear" : true,
"authorizationType" : "RECURRING_INITIAL",
"status" : "S00000",
"message" : "SUCCESS",
"httpStatus" : "OK"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Merchant’s unique id in system |
|
|
Transaction creation date in format "yyyy-MM-dd HH:mm:ss" |
|
|
Transaction amount (in pennies) |
|
|
Transaction currency |
|
|
Card’s provider |
|
|
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 |
|
|
Masked card number |
|
|
Default currency code for card |
|
|
Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
|
|
Country code numeric for Visa:: - ISO 3166-1 Numeric |
|
|
Region for Visa: 1 = US 2 = Canada 3 = Visa Europe 4 = Asia-Pacific 5 = Latin America and Carribean 6 = CEMEA |
|
|
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 for Visa: W = (Worldwide) R = (Regional) N = (National) D = (Domestic) |
|
|
Settlement match for Visa: B = (B2B) E = B2E Space = (Not applicable) |
|
|
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 |
|
|
TResponse code |
|
|
Retrieval Reference Number |
|
|
System Trace Audit Number (STAN) |
|
|
Recurring Initial unique uuid in system |
|
|
Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR |
|
|
Clearing amount (in pennies) |
|
|
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. |
|
|
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 |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1105
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"createdDate" : "2024-11-06 01:21:39",
"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" : "7d8ef9b8-5157-4068-a56f-5bb6e6ffebf5",
"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/1.1 200 OK
Content-Type: application/json
Content-Length: 1104
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"createdDate" : "2024-11-06 01:21:39",
"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" : "7d8ef9b8-5157-4068-a56f-5bb6e6ffebf5",
"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 |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Merchant’s unique id in system |
|
|
Transaction creation date in format "yyyy-MM-dd HH:mm:ss" |
|
|
Transaction amount (in pennies) |
|
|
Transaction currency |
|
|
Card’s provider |
|
|
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 |
|
|
Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
|
|
Country code numeric for Visa:: - ISO 3166-1 Numeric |
|
|
Region for Visa: 1 = US 2 = Canada 3 = Visa Europe 4 = Asia-Pacific 5 = Latin America and Carribean 6 = CEMEA |
|
|
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 for Visa: W = (Worldwide) R = (Regional) N = (National) D = (Domestic) |
|
|
Settlement match for Visa: B = (B2B) E = B2E Space = (Not applicable) |
|
|
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 |
|
|
Masked card number |
|
|
Default currency code for card |
|
|
Response code |
|
|
Retrieval Reference Number |
|
|
System Trace Audit Number (STAN) |
|
|
Recurring Initial unique uuid in system |
|
|
Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR |
|
|
Clearing amount (in pennies) |
|
|
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 |
|
|
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 |
|
|
File id clearing file’s to be sent to MC/VISA |
|
|
Acquirer Reference Number - Identification number assigned when generating FIRST_PRESENTMENT or TC_05 |
|
|
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. |
|
|
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 |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 902
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"createdDate" : "2024-11-06 01:21:39",
"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" : "7d8ef9b8-5157-4068-a56f-5bb6e6ffebf5",
"transactionStatus" : "APPROVED",
"clearingAmount" : 1000,
"autoClear" : true,
"authorizationType" : "RECURRING_SUBSEQUENT",
"status" : "S00000",
"message" : "SUCCESS",
"httpStatus" : "OK"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Merchant’s unique id in system |
|
|
Transaction creation date in format "yyyy-MM-dd HH:mm:ss" |
|
|
Transaction amount (in pennies) |
|
|
Transaction currency |
|
|
Card’s provider |
|
|
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 |
|
|
Masked card number |
|
|
Default currency code for card |
|
|
Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
|
|
Country code numeric for Visa:: - ISO 3166-1 Numeric |
|
|
Region for Visa: 1 = US 2 = Canada 3 = Visa Europe 4 = Asia-Pacific 5 = Latin America and Carribean 6 = CEMEA |
|
|
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 for Visa: W = (Worldwide) R = (Regional) N = (National) D = (Domestic) |
|
|
Settlement match for Visa: B = (B2B) E = B2E Space = (Not applicable) |
|
|
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 |
|
|
TResponse code |
|
|
Retrieval Reference Number |
|
|
System Trace Audit Number (STAN) |
|
|
Recurring Initial unique uuid in system |
|
|
Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR |
|
|
Clearing amount (in pennies) |
|
|
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. |
|
|
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 |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1108
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"createdDate" : "2024-11-06 01:21:39",
"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" : "7d8ef9b8-5157-4068-a56f-5bb6e6ffebf5",
"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/1.1 200 OK
Content-Type: application/json
Content-Length: 1107
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"createdDate" : "2024-11-06 01:21:39",
"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" : "7d8ef9b8-5157-4068-a56f-5bb6e6ffebf5",
"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 |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Merchant’s unique id in system |
|
|
Transaction creation date in format "yyyy-MM-dd HH:mm:ss" |
|
|
Transaction amount (in pennies) |
|
|
Transaction currency |
|
|
Card’s provider |
|
|
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 |
|
|
Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
|
|
Country code numeric for Visa:: - ISO 3166-1 Numeric |
|
|
Region for Visa: 1 = US 2 = Canada 3 = Visa Europe 4 = Asia-Pacific 5 = Latin America and Carribean 6 = CEMEA |
|
|
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 for Visa: W = (Worldwide) R = (Regional) N = (National) D = (Domestic) |
|
|
Settlement match for Visa: B = (B2B) E = B2E Space = (Not applicable) |
|
|
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 |
|
|
Masked card number |
|
|
Default currency code for card |
|
|
Response code |
|
|
Retrieval Reference Number |
|
|
System Trace Audit Number (STAN) |
|
|
Recurring Initial unique uuid in system |
|
|
Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR |
|
|
Clearing amount (in pennies) |
|
|
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 |
|
|
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 |
|
|
File id clearing file’s to be sent to MC/VISA |
|
|
Acquirer Reference Number - Identification number assigned when generating FIRST_PRESENTMENT or TC_05 |
|
|
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. |
|
|
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 |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1063
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"createdDate" : "2024-11-06 01:21:39",
"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-11-06 01:21:49",
"reversalRRN" : "014011103024",
"reversalStan" : "103024",
"authorizationType" : "ELECTRONIC_COMMERCE_PURCHASE",
"status" : "S00000",
"message" : "SUCCESS",
"httpStatus" : "OK"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Merchant’s unique id in system |
|
|
Transaction creation date in format "yyyy-MM-dd HH:mm:ss" |
|
|
Transaction amount (in pennies) |
|
|
Transaction currency |
|
|
Card’s provider |
|
|
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 |
|
|
Masked card number |
|
|
Default currency code for card |
|
|
Bank name only for Mastercard |
|
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 |
|
|
Country code numeric for Mastercard:: - ISO 3166-1 Numeric |
|
|
Region for Mastercard: - UNITED_STATES - CANADA - LATINA_AMERICA_AND_THE_CARIBBEAN - ASIA_PACIFIC - EUROPE - SOUTH_ASIA_MIDDLE_EAST_AFRICA - ANY |
|
|
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. |
|
|
EEA Domestic Rate Qualification Indicator only for Mastercard: Y = EEA Domestic Rate qualified N = Not EEA Domestic Rate qualified |
|
|
TResponse code |
|
|
Retrieval Reference Number |
|
|
System Trace Audit Number (STAN) |
|
|
Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR |
|
|
Clearing amount (in pennies) |
|
|
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. |
|
|
Reversal status from Fenige System: APPROVED, DECLINED, REJECTED, ERROR, TO_REVERSAL, CANNOT_REVERSAL, REVERSAL_TRANSACTION_NOT_FOUND, |
|
|
Reversal response code from MC/VISA System |
|
|
Reversal date in format "yyyy-MM-dd HH:mm:ss" |
|
|
Reversal Retrieval Reference Number |
|
|
Reversal System Trace Audit Number (STAN) |
|
|
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 |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1484
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"createdDate" : "2024-11-06 01:21:39",
"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-11-06 01:21:49",
"reversalRRN" : "014011103024",
"reversalStan" : "103024",
"authorizationType" : "ELECTRONIC_COMMERCE_PURCHASE",
"reversals" : [ {
"reversalDate" : "2024-11-06 01:21:49",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"requestUuid" : "d5a88d11-d6f4-41fd-879d-355435b9b0d9",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"actualAmount" : 500,
"reversalStatus" : "APPROVED",
"reversalResponseCode" : "CODE_00",
"reversalRRN" : "014011103024",
"reversalStan" : "103024"
} ],
"status" : "S00000",
"message" : "SUCCESS",
"httpStatus" : "OK"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Merchant’s unique id in system |
|
|
Transaction creation date in format "yyyy-MM-dd HH:mm:ss" |
|
|
Transaction amount (in pennies) |
|
|
Transaction currency |
|
|
Card’s provider |
|
|
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 |
|
|
Masked card number |
|
|
Default currency code for card |
|
|
Bank name only for Mastercard |
|
|
Country card Issuing for Mastercard: - ISO 3166-1 Alpha-3 |
|
|
Country code numeric for Mastercard:: - ISO 3166-1 Numeric |
|
|
Region for Mastercard: - UNITED_STATES - CANADA - LATINA_AMERICA_AND_THE_CARIBBEAN - ASIA_PACIFIC - EUROPE - SOUTH_ASIA_MIDDLE_EAST_AFRICA - ANY |
|
|
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. |
|
|
EEA Domestic Rate Qualification Indicator only for Mastercard: Y = EEA Domestic Rate qualified N = Not EEA Domestic Rate qualified |
|
|
TResponse code |
|
|
Retrieval Reference Number |
|
|
System Trace Audit Number (STAN) |
|
|
Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR |
|
|
Clearing amount (in pennies) |
|
|
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. |
|
|
Reversal status from Fenige System: APPROVED, DECLINED, REJECTED, ERROR, TO_REVERSAL, CANNOT_REVERSAL, REVERSAL_TRANSACTION_NOT_FOUND, |
|
|
Reversal response code from MC/VISA System |
|
|
Reversal date in format "yyyy-MM-dd HH:mm:ss" |
|
|
Reversal Retrieval Reference Number |
|
|
Reversal System Trace Audit Number (STAN) |
|
|
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 |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
List of reversals performed - last entry is effective |
|
|
Reversal date and time in format "yyyy-MM-dd HH:mm:ss" |
|
|
MerchantId request value |
|
|
RequestUuid request value |
|
|
Transaction uuid reversed transaction |
|
|
Actual amount correction of transaction |
|
|
Reversal status from Fenige System: APPROVED, DECLINED, REJECTED, ERROR, TO_REVERSAL, CANNOT_REVERSAL, REVERSAL_TRANSACTION_NOT_FOUND |
|
|
Reversal response code from MC/VISA System |
|
|
Reversal System Trace Audit Number (STAN) |
|
|
Reversal Retrieval Reference Number |
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1379
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"transactionUuid" : "f8891060-f770-4179-ad1a-bf122496db76",
"merchantId" : "d0b67306-53ee-4812-98b9-d04014de52dc",
"createdDate" : "2024-11-06 01:21:39",
"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" : "e72929b5-c95f-44b6-9567-ddff270e929a",
"refundAmount" : 500,
"refundStatus" : "APPROVED",
"refundDate" : "2024-11-07 01:21:39",
"refundResponseCode" : "CODE_00",
"refundRRN" : "014011103024",
"refundARN" : "05411641197500000007067",
"refundStan" : "103024"
} ],
"authorizationType" : "ELECTRONIC_COMMERCE_PURCHASE",
"status" : "S00000",
"message" : "SUCCESS",
"httpStatus" : "OK"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Merchant’s unique id in system |
|
|
Transaction creation date in format "yyyy-MM-dd HH:mm:ss" |
|
|
Transaction amount (in pennies) |
|
|
Transaction currency |
|
|
Card’s provider |
|
|
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 |
|
|
Masked card number |
|
|
Default currency code for card |
|
|
Country card Issuing for Visa: - ISO 3166-1 Alpha-2 |
|
|
Country code numeric for Visa:: - ISO 3166-1 Numeric |
|
|
Region for Visa: 1 = US 2 = Canada 3 = Visa Europe 4 = Asia-Pacific 5 = Latin America and Carribean 6 = CEMEA |
|
|
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 for Visa: W = (Worldwide) R = (Regional) N = (National) D = (Domestic) |
|
|
Settlement match for Visa: B = (B2B) E = B2E Space = (Not applicable) |
|
|
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 |
|
|
Response code |
|
|
Retrieval Reference Number |
|
|
System Trace Audit Number (STAN) |
|
|
Transaction Status: PENDING, APPROVED, DECLINED, REVERSED, CLEARED, REJECTED, ERROR |
|
|
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 |
|
|
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 |
|
|
File id clearing file’s to be sent to MC/VISA |
|
|
Acquirer Reference Number |
|
|
Clearing Reference Number |
|
|
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. |
|
|
List of refunds ordered |
|
|
Unique refund uuid |
|
|
The total refund amount |
|
|
Refund status |
|
|
Refund creation date in format "yyyy-MM-dd HH:mm:ss" |
|
|
Refund Response code from MC/VISA system |
|
|
Refund Retrieval Reference Number |
|
|
Refund System Trace Audit Number (STAN) |
|
|
Refund Acquirer Reference Number |
|
|
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 |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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}"
}
Path | Type | Description |
---|---|---|
|
|
Time stamp |
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Message for response code from Fenige system |
|
|
Path |
HTTP/1.1 404 Not Found
Content-Type: application/json
Content-Length: 206
{
"requestUuid" : "58860b4b-311d-4bc8-8bef-0c2c194d4183",
"status" : "E00155",
"message" : "Transaction not exist",
"httpStatus" : "NOT_FOUND",
"traceId" : "c22ebebe-30f0-4b7c-8d28-e23df99d100d"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
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.

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.
Path | Description |
---|---|
|
Transaction’s unique uuid in system |
|
Merchant’s unique uuid in system |
|
Error code |
|
A description of reason for declined transaction |
|
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.
Path | Description |
---|---|
|
Merchant’s unique uuid in system |
|
Error code |
|
A description of reason for declined clearing file |
|
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.
Path | Description |
---|---|
|
Is the ISO numeric currency code of the currency for which conversion rate information is being provided |
|
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. |
|
Indicates the type of rate. The customer uses three rate types to calculate settlement - B - Buy rate - M - Mid rate - S - Sell rate |
|
Indicates the business date that the currency conversion rates are effective. The format is YYMMDD |
|
Contains the delivery cycle in which the currency conversion rates are being distributed |
|
Reconciliation currency |
|
Monitors the integrity and continuity of the files being exchanged |
|
Identifies the transaction destination institution |
|
Identifies the transaction originator institution |
|
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.
Path | Description |
---|---|
|
Clearing file’s id |
|
Currency |
|
Debits, Transaction Amount In Transaction Currency 'D0000000000002563' - 1 position 'D' - Debit Indicator - 2-17 '0000000000002563' - Amount in pennies |
|
Credits, Transaction Amount in Transaction Currency 'C0000000000002563' - 1 position 'C' - Credit Indicator - 2-17 '0000000000002563' - Amount in pennies |
|
Amount, Net Transaction in Transaction Currency 'C0000000000002563' - 1 position 'C/D' - Credit/Debit Indicator - 2-17 '0000000000002563' - Amount in pennies |
|
Debits, Transaction Number |
|
Credits, Transaction 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.
Path | Description |
---|---|
|
Clearing file’s id |
|
Currency Code, Transaction |
|
Currency Code, Reconciliation |
|
Original/Reversal Totals Indicator {O/R} |
|
Debits, Transaction Amount In Transaction Currency 'D0000000000002563' - 1 position 'D' - Debit Indicator - 2-17 '0000000000002563' - Amount in pennies |
|
Credits, Transaction Amount in Transaction Currency 'C0000000000002563' - 1 position 'C' - Credit Indicator - 2-17 '0000000000002563' - Amount in pennies |
|
Amount, Net Transaction in Transaction Currency 'C0000000000002563' - 1 position 'C/D' - Credit/Debit Indicator - 2-17 '0000000000002563' - Amount in pennies |
|
Debits, Transaction Amount In Reconciliation Currency 'D0000000000002563' - 1 position 'D' - Debit Indicator - 2-17 '0000000000002563' - Amount in pennies |
|
Credits, Transaction Amount in Reconciliation Currency 'C0000000000002563' - 1 position 'C' - Credit Indicator - 2-17 '0000000000002563' - Amount in pennies |
|
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 |
|
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 Transaction in Reconciliation Currency 'C0000000000002563' - 1 position 'C/D' - Credit/Debit Indicator - 2-17 '00000000000002563' - Amount in pennies |
|
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 'C0000000000002563' - 1 position 'C/D' - Credit/Debit Indicator - 2-17 '0000000000002563' - Amount in pennies |
|
Debits, Transaction Number |
|
Credits, Transaction 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.
Path | Description |
---|---|
|
Clearing file’s id |
|
Currency Code, Transaction |
|
Currency Code, Reconciliation |
|
Card Program Identifier Code |
|
Transaction Function Group Code |
|
Debits, Transaction Amount in Reconciliation Currency 'D0000000000002563' - 1 position 'D' - Debit Indicator - 2-17 '0000000000002563' - Amount in pennies |
|
Credits, Transaction Amount in Reconciliation Currency 'C0000000000002563' - 1 position 'C' - Credit Indicator - 2-17 '0000000000002563' - Amount in pennies |
|
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 |
|
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 Transaction in Reconciliation Currency 'C0000000000002563' - 1 position 'C/D' - Credit/Debit Indicator - 2-17 '0000000000002563' - Amount in pennies |
|
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 '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.
Path | Description |
---|---|
|
Transaction’s unique uuid in system |
|
Merchant’s unique uuid in system |
|
Transaction amount |
|
Chargeback amount |
|
Date and Time, Local Transaction |
|
Message Reason Code |
|
A description of reason for chargeback |
|
Acquirer Reference Data |
|
Bank’s ICA, Forwarding Institution ID Code |
|
Currency code transaction |
|
{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.
Path | Description |
---|---|
|
Transaction’s unique uuid in system |
|
Merchant’s unique uuid in system |
|
Acquirer Reference Data |
|
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.
Path | Description |
---|---|
|
Transaction amount |
|
Reconciliation amount |
|
Transaction currency code |
|
Reconciliation currency code |
|
Trx data |
|
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.
Path | Description |
---|---|
|
Transaction’s unique uuid in system |
|
Merchant’s unique uuid in system |
|
Transaction amount |
|
Reconciliation amount |
|
Acquirer Reference Data |
|
Transaction currency code |
|
Reconciliation currency code |
|
AML, fee coll sending back Data Record |
|
Action date |
|
Transaction Originator Institution ID Code - the bank that reported it |
Fee Collection Customer API
This API allows to response for Fee Collection

Request
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",
}
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"
}
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
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"
}
Path | Type | Description |
---|---|---|
|
|
Transaction’s unique uuid in system |
|
|
Request’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
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"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Time stamp |
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Message for response code from Fenige system |
|
|
Path |
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"
}
Path | Type | Description |
---|---|---|
|
|
Request’s unique uuid in system |
|
|
Transaction’s unique uuid in system |
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
Unique id for this http request register in system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Time stamp |
|
|
Response code from Fenige system |
|
|
Response http status |
|
|
Message for response code from Fenige system |
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"
}
Path | Type | Description |
---|---|---|
|
|
Response code from Fenige system |
|
|
Message for response code from Fenige system |
|
|
Response http status |
|
|
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.
Path | Description |
---|---|
|
Transaction unique uuid in system |
|
Transaction type: REFUND, AUTHORIZATION |
|
Acquirer Reference Data |
|
Transaction Amount |
|
Transaction Currency Code |
|
Transaction Reconciliation Amount |
|
Transaction’s Reconciliation Currency Code |
|
Transaction Local Date and Time |
|
Transaction Amount Fee |
|
Transaction Currency Code Fee |
|
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.
Environment |
File name example |
Test |
TT150T0.2020-07-31-21-10-26.001 |
Production |
TT140T0.2020-07-31-21-10-26.001 |
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. |
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.
Environment |
File name example |
Test |
TT784T0.2020-07-31-21-10-26.001 |
Production |
TT783T0.2020-07-31-21-10-26.001 |
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 |
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. |
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. |
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).
Path | Description |
---|---|
|
Transaction unique uuid in system |
|
Acquirer Reference Data |
|
Transaction Amount |
|
Transaction Currency Code |
|
Transaction Reconciliation Amount |
|
Transaction’s Reconciliation Currency Code |
|
Transaction Local Date and Time |
|
Transaction Amount Fee |
|
Transaction Currency Code Fee |
|
Transaction Life Cycle ID |
|
Report date |
|
Reconciliation Conversion Rate |
|
Original Amount |
|
Currency Conversion Indicator |
|
Currency Conversion Date |
|
Data Record |
|
File ID |
|
Currency Code Original Transaction Amount |
|
Transaction Destination 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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros. |
|
This is the identifier for the SRE being reported upon. |
|
This field contains the 3-digit code which identifies the settlement service used. |
|
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. |
|
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.
|
|
This contains the date on which the contents of the report were last modified. |
|
This field will contain the value 100. |
|
This field contains a 'W' or 'R'. |
|
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. |
|
This contains the name corresponding to the subordinate SRE Identifier. |
|
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. |
|
The possible values for this field are:
|
|
The possible values for this field are:
|
|
The possible values for this field are:
|
|
This field contains a 'Y' if the Processor Identifier is specified or an 'N' if the Processor Identifier is not specified. |
|
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. |
|
This field contains a 'Y' if the Network Identifier is specified or an 'N' if the Network Identifier is not specified. |
|
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. |
|
This field contains the Settlement Currency (unpacked numeric). |
|
This field will contain Transaction Currency from the Acquirer perspective. If no Transaction Currency has been specified, this field will contain spaces. |
|
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros. |
|
This is the identifier for the SRE being reported upon. |
|
This field contains the 3-digit code which identifies the settlement service used. |
|
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. |
|
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.
|
|
This contains the date on which the contents of the report were last modified. |
|
This field will contain the value 100. |
|
This field contains a 'W' or 'R'. |
|
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. |
|
This contains the name corresponding to the subordinate SRE Identifier. |
|
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. |
|
The possible values for this field are:
|
|
The possible values for this field are:
|
|
The possible values for this field are:
|
|
This field contains a 'Y' if the Processor Identifier is specified or an 'N' if the Processor Identifier is not specified. |
|
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. |
|
This field contains a 'Y' if the Network Identifier is specified or an 'N' if the Network Identifier is not specified. |
|
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. |
|
This field contains the Settlement Currency (unpacked numeric). |
|
This field will contain Transaction Currency from the Acquirer perspective. If no Transaction Currency has been specified, this field will contain spaces. |
|
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
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. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
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. |
|
The possible values for this field are 'Y' (if there is no data for this report) or space. |
|
This field will contain 110 or 111. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
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. |
|
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. |
|
When the Report Identification Number is 110, the possible values for this field are: |
|
The possible values for this field are: |
|
When the Amount Type contains an 'I', this field contains the Interchange transaction count corresponding to Business Mode. |
|
This field contains the Credit Amount corresponding to the Amount Type and Business Mode. |
|
This field contains the Debit Amount corresponding to the Amount Type and Business Mode. |
|
This field contains the net of the credit amount minus the debit amount. |
|
The Net Amount Sign is DB for debit or CR for credit. |
|
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. |
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
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. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
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. |
|
The possible values for this field are 'Y' (if there is no data for this report) or space. |
|
This field will contain 110 or 111. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
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. |
|
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. |
|
When the Report Identification Number is 110, the possible values for this field are: |
|
The possible values for this field are: |
|
When the Amount Type contains an 'I', this field contains the Interchange transaction count corresponding to Business Mode. |
|
This field contains the Credit Amount corresponding to the Amount Type and Business Mode. |
|
This field contains the Debit Amount corresponding to the Amount Type and Business Mode. |
|
This field contains the net of the credit amount minus the debit amount. |
|
The Net Amount Sign is DB for debit or CR for credit. |
|
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. |
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
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. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
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. |
|
The possible values for this field are 'Y' (if there is no data for this report) or space. |
|
This field will contain 110 or 111. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
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. |
|
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. |
|
When the Report Identification Number is 110, the possible values for this field are: |
|
The possible values for this field are: |
|
When the Amount Type contains an 'I', this field contains the Interchange transaction count corresponding to Business Mode. |
|
This field contains the Credit Amount corresponding to the Amount Type and Business Mode. |
|
This field contains the Debit Amount corresponding to the Amount Type and Business Mode. |
|
This field contains the net of the credit amount minus the debit amount. |
|
The Net Amount Sign is DB for debit or CR for credit. |
|
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. |
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).
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
This field will contain the identifier for the SRE which is directly superior to the Reporting for SRE in the settlement hierarchy. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
This field contains the ISO numeric currency in which amounts are reported. |
|
The possible values for this field are: |
|
The possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
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: |
|
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. |
|
This field will contain the value 115 or 116. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
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. |
|
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. |
|
This field contains the Business Transaction Type. |
|
This field contains the Business Transaction Cycle. |
|
Possible values for this field are 'Y' or 'N'. |
|
This field contains the count of Credit Transactions for the corresponding Business Mode when Amount Type = I (Interchange). |
|
This field contains the amount for Credit Transactions for the corresponding Business Mode and Amount Type. |
|
This field contains the count of Debit Transactions for the corresponding Business Mode when Amount Type = I (Interchange). |
|
This field contains the amount for Debit Transactions for the corresponding Business Mode and Amount Type. |
|
This field contains the total amount for the corresponding Business Mode and Amount Type. |
|
The Total Amount Sign is DB for debit or CR for credit. |
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
This field will contain the identifier for the SRE which is directly superior to the Reporting for SRE in the settlement hierarchy. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
This field contains the ISO numeric currency in which amounts are reported. |
|
The possible values for this field are: |
|
The possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
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: |
|
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. |
|
This field will contain the value 115 or 116. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
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. |
|
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. |
|
This field contains the Business Transaction Type. |
|
This field contains the Business Transaction Cycle. |
|
Possible values for this field are 'Y' or 'N'. |
|
This field contains the count of Credit Transactions for the corresponding Business Mode when Amount Type = I (Interchange). |
|
This field contains the amount for Credit Transactions for the corresponding Business Mode and Amount Type. |
|
This field contains the count of Debit Transactions for the corresponding Business Mode when Amount Type = I (Interchange). |
|
This field contains the amount for Debit Transactions for the corresponding Business Mode and Amount Type. |
|
This field contains the total amount for the corresponding Business Mode and Amount Type. |
|
The Total Amount Sign is DB for debit or CR for credit. |
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).
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
This field will contain the identifier for the SRE which is directly superior to the Reporting for SRE in the settlement hierarchy. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
This field contains the ISO numeric currency in which amounts are reported. |
|
The possible values for this field are: |
|
The possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
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: |
|
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. |
|
This field will contain the value 115 or 116. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
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. |
|
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. |
|
This field contains the Business Transaction Type. |
|
This field contains the Business Transaction Cycle. |
|
Possible values for this field are 'Y' or 'N'. |
|
This field contains the count of Credit Transactions for the corresponding Business Mode when Amount Type = I (Interchange). |
|
This field contains the amount for Credit Transactions for the corresponding Business Mode and Amount Type. |
|
This field contains the count of Debit Transactions for the corresponding Business Mode when Amount Type = I (Interchange). |
|
This field contains the amount for Debit Transactions for the corresponding Business Mode and Amount Type. |
|
This field contains the total amount for the corresponding Business Mode and Amount Type. |
|
The Total Amount Sign is DB for debit or CR for credit. |
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
This field will contain the identifier for the SRE which is directly superior to the Reporting for SRE in the settlement hierarchy. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
This field contains the ISO numeric currency in which amounts are reported. |
|
The possible values for this field are: |
|
The possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
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: |
|
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. |
|
This field will contain the value 115 or 116. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
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. |
|
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. |
|
This field contains the Business Transaction Type. |
|
This field contains the Business Transaction Cycle. |
|
Possible values for this field are 'Y' or 'N'. |
|
This field contains the count of Credit Transactions for the corresponding Business Mode when Amount Type = I (Interchange). |
|
This field contains the amount for Credit Transactions for the corresponding Business Mode and Amount Type. |
|
This field contains the count of Debit Transactions for the corresponding Business Mode when Amount Type = I (Interchange). |
|
This field contains the amount for Debit Transactions for the corresponding Business Mode and Amount Type. |
|
This field contains the total amount for the corresponding Business Mode and Amount Type. |
|
The Total Amount Sign is DB for debit or CR for credit. |
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
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. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
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. |
|
When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts
are reported. |
|
The possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report. |
|
When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report. |
|
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. |
|
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. |
|
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. |
|
When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10. |
|
When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'. |
|
When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code. |
|
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source
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. |
|
When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor. |
|
If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values: |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
Count. Empty when field 'No Data Indicator' are 'Y' |
|
Clearing Amount (Clearing Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Interchange Value Credits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Interchange Value Debits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
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. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
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. |
|
When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts
are reported. |
|
The possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report. |
|
When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report. |
|
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. |
|
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. |
|
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. |
|
When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10. |
|
When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'. |
|
When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code. |
|
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source
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. |
|
When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor. |
|
If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values: |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
Count. Empty when field 'No Data Indicator' are 'Y' |
|
Clearing Amount (Clearing Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Interchange Value Credits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Interchange Value Debits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
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. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
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. |
|
When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts
are reported. |
|
The possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report. |
|
When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report. |
|
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. |
|
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. |
|
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. |
|
When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10. |
|
When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'. |
|
When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code. |
|
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source
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. |
|
When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor. |
|
If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values: |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
Count. Empty when field 'No Data Indicator' are 'Y' |
|
Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Reimbursement Fee Credits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y |
|
Reimbursement Fee Debits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
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. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
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. |
|
When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts
are reported. |
|
The possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report. |
|
When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report. |
|
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. |
|
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. |
|
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. |
|
When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10. |
|
When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'. |
|
When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code. |
|
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source
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. |
|
When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor. |
|
If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values: |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
Count. Empty when field 'No Data Indicator' are 'Y' |
|
Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Reimbursement Fee Credits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y |
|
Reimbursement Fee Debits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
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. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
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. |
|
When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts
are reported. |
|
The possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report. |
|
When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report. |
|
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. |
|
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. |
|
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. |
|
When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10. |
|
When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'. |
|
When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code. |
|
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source
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. |
|
When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor. |
|
If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values: |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
Daily Count. Empty when field 'No Data Indicator' are 'Y' |
|
MTD 1 Count. Empty when field 'No Data Indicator' are 'Y' |
|
Daily Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Daily Reimbursement Fee (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
MTD Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
MTD Reimbursement Fees (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Daily Cash back Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
MTD Cash back Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
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. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
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. |
|
When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts
are reported. |
|
The possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report. |
|
When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report. |
|
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. |
|
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. |
|
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. |
|
When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10. |
|
When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'. |
|
When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code. |
|
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source
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. |
|
When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor. |
|
If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values: |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
Count. Empty when field 'No Data Indicator' are 'Y' |
|
Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Visa Charges Credits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Visa Charges Debits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
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. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
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. |
|
When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts
are reported. |
|
The possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report. |
|
When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report. |
|
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. |
|
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. |
|
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. |
|
When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10. |
|
When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'. |
|
When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code. |
|
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source
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. |
|
When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor. |
|
If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values: |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
Count. Empty when field 'No Data Indicator' are 'Y' |
|
Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Visa Charges Credits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Visa Charges Debits ((Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
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. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
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. |
|
When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts
are reported. |
|
The possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report. |
|
When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report. |
|
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. |
|
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. |
|
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. |
|
When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10. |
|
When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'. |
|
When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code. |
|
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source
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. |
|
When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor. |
|
If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values: |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Conversion Fee (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Interchange Amount (Clearing Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Conversion Fee (Clearing Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Optional Issuer Fee (Clearing Curr). Empty when field 'No Data Indicator' are 'Y' |
|
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
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. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
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. |
|
When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts
are reported. |
|
The possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report. |
|
When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report. |
|
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. |
|
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. |
|
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. |
|
When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10. |
|
When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'. |
|
When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code. |
|
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source
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. |
|
When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor. |
|
If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values: |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
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. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
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. |
|
When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts
are reported. |
|
The possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report. |
|
When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report. |
|
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. |
|
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. |
|
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. |
|
When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10. |
|
When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'. |
|
When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code. |
|
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source
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. |
|
When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor. |
|
If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values: |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
International Service Assessment (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Interchange Amount (Clearing Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
International Service Assessment (Clearing Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Optional ISA fee (Clearing Curr). Empty when field 'No Data Indicator' are 'Y' |
|
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
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. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
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. |
|
When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts
are reported. |
|
The possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report. |
|
When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report. |
|
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. |
|
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. |
|
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. |
|
When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10. |
|
When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'. |
|
When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code. |
|
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source
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. |
|
When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor. |
|
If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values: |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
International Service Assessment (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Interchange Amount (Clearing Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
International Service Assessment (Clearing Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Optional ISA fee (Clearing Curr). Empty when field 'No Data Indicator' are 'Y' |
|
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE being reported upon. |
|
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. |
|
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. |
|
This field contains the 3-digit code that identifies the settlement service used. |
|
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. |
|
When the Report Identification Number contains 120 or 210, this field contains the ISO numeric currency in which clearing amounts
are reported. |
|
The possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 120, 130, 131, 135, 136, 140, 210, 215, 230, or 640. |
|
The possible values for this field are space or 'M'. |
|
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. |
|
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. |
|
When the Report Identification Suffix contains an 'M', this contains the starting range for information contained in the report. |
|
When the Report Identification Suffix contains an 'M', this contains the ending range for information contained in the report. |
|
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. |
|
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. |
|
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. |
|
When the Report Identification Number contains 120, 130, 140, 210 or 230 and the Summary Level contains 07, 08, 09, or 10. |
|
When the Report Identification Number contains 120 and Summary Level contains 10, possible values for this field are 'Y' or 'N'. |
|
When the Report Identification Number contains 130, 135, 140, 210 or 230, this field contains the Jurisdiction Code. |
|
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'N', this field contains the source
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. |
|
When the Report ID Number contains 130, 140 or 230 and the Interregional Routing Indicator is 'Y', this field contains the source
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. |
|
When the Report ID Number contains 130 or 135 and Summary Level contains 10, this field contains the Fee Level Descriptor. |
|
If the Report Identification Number contains 135 and Summary Level contains 10, this field will contain one of the following values: |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
Count. Empty when field 'No Data Indicator' are 'Y' |
|
Interchange Amount (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Visa Charges Credits (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
The Sign is DB for debit or CR for credit. Empty when field 'No Data Indicator' are 'Y' |
|
Visa Charges Debits (Settlement Curr). Empty when field 'No Data Indicator' are 'Y' |
|
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. |
|
This field contains the identifier for the SRE for which this report was requested. |
|
This field contains the identifier of the SRE to which the data in this record corresponds. |
|
This field contains the 3-digit code which identifies the Settlement Service used. |
|
This field contains the ISO numeric currency in which amounts are reported. |
|
The possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 300 and 320. |
|
This field will contain 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. |
|
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. |
|
This field contains the Interchange transaction count corresponding to Business Mode. |
|
This field contains the Interchange amount corresponding to Business Mode. |
|
The Interchange Value Sign is DB for debit or CR for credit. |
|
This field contains the reimbursement fees corresponding to Business Mode. |
|
The Reimbursement Fees Sign is DB for debit or CR for credit. |
|
This field contains the Visa charges corresponding to Business Mode. The number of decimal places for this field
depends on the currency. |
|
The Visa Charges Sign is DB for debit or CR for credit. |
|
This field contains the net Settlement Amount corresponding to Business Mode. |
|
The Net Settlement Amount Sign is DB for debit or CR for credit. |
|
The possible values of this field are: 01, 02, 11, and 12. |
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros. |
|
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. |
|
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. |
|
When the Report Identifier Suffix contains 'P' or 'PS', this field contains the identification for the clearing BIN. |
|
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 contains the 3-digit code that identifies the settlement service used. |
|
When Summary-Level contains 06, 07, or 08, the possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 900 and 910. |
|
The possible values for this field are: Space, 'S', 'P', 'PS', 'M', 'SM', 'PM', or 'XM'. |
|
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. |
|
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. |
|
This field contains a 'Y' if the Business Transaction Type is financial. |
|
This field contains a 'Y' if the transactions are clearing only. |
|
This field contains the Business Transaction Type. |
|
This field contains the Business Transaction Cycle. |
|
Possible values for this field are 'Y' or 'N'. |
|
This field indicates the disposition of the transactions. |
|
This field contains the transaction count. |
|
This field contains the clearing amount corresponding to Business Mode and Transaction Disposition. |
|
The Interchange Value Sign is DB for debit or CR for credit. |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
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. |
|
This field contains the Reimbursement Fee and is only applicable for Japanese NNSS Deferred Settlement. |
|
This field contains the Reimbursement Fee Sign and is only applicable for Japanese NNSS Deferred Settlement. |
|
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. |
|
This field contains the Payment Amount Sign and is only applicable for Japanese NNSS Deferred Settlement. |
|
This field is only applicable when Report Identification Number = 910 or when the Report Identification Number = 900 and reporting for Brazil NNSS. |
|
This field is only valid when the payment mode is 61. |
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros. |
|
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. |
|
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. |
|
When the Report Identifier Suffix contains 'P' or 'PS', this field contains the identification for the clearing BIN. |
|
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 contains the 3-digit code that identifies the settlement service used. |
|
When Summary-Level contains 06, 07, or 08, the possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 900 and 910. |
|
The possible values for this field are: Space, 'S', 'P', 'PS', 'M', 'SM', 'PM', or 'XM'. |
|
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. |
|
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. |
|
This field contains a 'Y' if the Business Transaction Type is financial. |
|
This field contains a 'Y' if the transactions are clearing only. |
|
This field contains the Business Transaction Type. |
|
This field contains the Business Transaction Cycle. |
|
Possible values for this field are 'Y' or 'N'. |
|
This field indicates the disposition of the transactions. |
|
This field contains the transaction count. |
|
This field contains the clearing amount corresponding to Business Mode and Transaction Disposition. |
|
The Interchange Value Sign is DB for debit or CR for credit. |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
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. |
|
This field contains the Reimbursement Fee and is only applicable for Japanese NNSS Deferred Settlement. |
|
This field contains the Reimbursement Fee Sign and is only applicable for Japanese NNSS Deferred Settlement. |
|
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. |
|
This field contains the Payment Amount Sign and is only applicable for Japanese NNSS Deferred Settlement. |
|
This field is only applicable when Report Identification Number = 910 or when the Report Identification Number = 900 and reporting for Brazil NNSS. |
|
This field is only valid when the payment mode is 61. |
|
This field contains ending date range for information contained in the report when the Report Identification Suffix contains 'M', 'SM', 'PM', or 'XM'. |
|
This field contains ending date range for information contained in the report when the Report Identification Suffix contains 'M', 'SM', 'PM', or 'XM'. |
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros. |
|
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. |
|
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. |
|
When the Report Identifier Suffix contains 'P' or 'PS', this field contains the identification for the clearing BIN. |
|
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 contains the 3-digit code that identifies the settlement service used. |
|
When Summary-Level contains 06, 07, or 08, the possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 900 and 910. |
|
The possible values for this field are: Space, 'S', 'P', 'PS', 'M', 'SM', 'PM', or 'XM'. |
|
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. |
|
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. |
|
This field contains a 'Y' if the Business Transaction Type is financial. |
|
This field contains a 'Y' if the transactions are clearing only. |
|
This field contains the Business Transaction Type. |
|
This field contains the Business Transaction Cycle. |
|
Possible values for this field are 'Y' or 'N'. |
|
This field indicates the disposition of the transactions. |
|
This field contains the transaction count. |
|
This field contains the clearing amount corresponding to Business Mode and Transaction Disposition. |
|
The Interchange Value Sign is DB for debit or CR for credit. |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
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. |
|
This field contains the Reimbursement Fee and is only applicable for Japanese NNSS Deferred Settlement. |
|
This field contains the Reimbursement Fee Sign and is only applicable for Japanese NNSS Deferred Settlement. |
|
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. |
|
This field contains the Payment Amount Sign and is only applicable for Japanese NNSS Deferred Settlement. |
|
This field is only applicable when Report Identification Number = 910 or when the Report Identification Number = 900 and reporting for Brazil NNSS. |
|
This field is only valid when the payment mode is 61. |
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros. |
|
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. |
|
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. |
|
When the Report Identifier Suffix contains 'P' or 'PS', this field contains the identification for the clearing BIN. |
|
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 contains the 3-digit code that identifies the settlement service used. |
|
When Summary-Level contains 06, 07, or 08, the possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 900 and 910. |
|
The possible values for this field are: Space, 'S', 'P', 'PS', 'M', 'SM', 'PM', or 'XM'. |
|
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. |
|
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. |
|
This field contains a 'Y' if the Business Transaction Type is financial. |
|
This field contains a 'Y' if the transactions are clearing only. |
|
This field contains the Business Transaction Type. |
|
This field contains the Business Transaction Cycle. |
|
Possible values for this field are 'Y' or 'N'. |
|
This field indicates the disposition of the transactions. |
|
This field contains the transaction count. |
|
This field contains the clearing amount corresponding to Business Mode and Transaction Disposition. |
|
The Interchange Value Sign is DB for debit or CR for credit. |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
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. |
|
This field contains the Reimbursement Fee and is only applicable for Japanese NNSS Deferred Settlement. |
|
This field contains the Reimbursement Fee Sign and is only applicable for Japanese NNSS Deferred Settlement. |
|
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. |
|
This field contains the Payment Amount Sign and is only applicable for Japanese NNSS Deferred Settlement. |
|
This field is only applicable when Report Identification Number = 910 or when the Report Identification Number = 900 and reporting for Brazil NNSS. |
|
This field is only valid when the payment mode is 61. |
|
This field contains ending date range for information contained in the report when the Report Identification Suffix contains 'M', 'SM', 'PM', or 'XM'. |
|
This field contains ending date range for information contained in the report when the Report Identification Suffix contains 'M', 'SM', 'PM', or 'XM'. |
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros. |
|
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. |
|
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. |
|
When the Report Identifier Suffix contains 'P' or 'PS', this field contains the identification for the clearing BIN. |
|
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 contains the 3-digit code that identifies the settlement service used. |
|
When Summary-Level contains 06, 07, or 08, the possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 900 and 910. |
|
The possible values for this field are: Space, 'S', 'P', 'PS', 'M', 'SM', 'PM', or 'XM'. |
|
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. |
|
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. |
|
This field contains a 'Y' if the Business Transaction Type is financial. |
|
This field contains a 'Y' if the transactions are clearing only. |
|
This field contains the Business Transaction Type. |
|
This field contains the Business Transaction Cycle. |
|
Possible values for this field are 'Y' or 'N'. |
|
This field indicates the disposition of the transactions. |
|
This field contains the transaction count. |
|
This field contains the clearing amount corresponding to Business Mode and Transaction Disposition. |
|
The Interchange Value Sign is DB for debit or CR for credit. |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
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. |
|
This field contains the Reimbursement Fee and is only applicable for Japanese NNSS Deferred Settlement. |
|
This field contains the Reimbursement Fee Sign and is only applicable for Japanese NNSS Deferred Settlement. |
|
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. |
|
This field contains the Payment Amount Sign and is only applicable for Japanese NNSS Deferred Settlement. |
|
This field is only applicable when Report Identification Number = 910 or when the Report Identification Number = 900 and reporting for Brazil NNSS. |
|
This field is only valid when the payment mode is 61. |
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros. |
|
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. |
|
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. |
|
When the Report Identifier Suffix contains 'P' or 'PS', this field contains the identification for the clearing BIN. |
|
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 contains the 3-digit code that identifies the settlement service used. |
|
When Summary-Level contains 06, 07, or 08, the possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 900 and 910. |
|
The possible values for this field are: Space, 'S', 'P', 'PS', 'M', 'SM', 'PM', or 'XM'. |
|
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. |
|
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. |
|
This field contains a 'Y' if the Business Transaction Type is financial. |
|
This field contains a 'Y' if the transactions are clearing only. |
|
This field contains the Business Transaction Type. |
|
This field contains the Business Transaction Cycle. |
|
Possible values for this field are 'Y' or 'N'. |
|
This field indicates the disposition of the transactions. |
|
This field contains the transaction count. |
|
This field contains the clearing amount corresponding to Business Mode and Transaction Disposition. |
|
The Interchange Value Sign is DB for debit or CR for credit. |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
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. |
|
This field contains the Reimbursement Fee and is only applicable for Japanese NNSS Deferred Settlement. |
|
This field contains the Reimbursement Fee Sign and is only applicable for Japanese NNSS Deferred Settlement. |
|
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. |
|
This field contains the Payment Amount Sign and is only applicable for Japanese NNSS Deferred Settlement. |
|
This field is only applicable when Report Identification Number = 910 or when the Report Identification Number = 900 and reporting for Brazil NNSS. |
|
This field is only valid when the payment mode is 61. |
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros. |
|
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. |
|
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. |
|
When the Report Identifier Suffix contains 'P' or 'PS', this field contains the identification for the clearing BIN. |
|
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 contains the 3-digit code that identifies the settlement service used. |
|
When Summary-Level contains 06, 07, or 08, the possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 900 and 910. |
|
The possible values for this field are: Space, 'S', 'P', 'PS', 'M', 'SM', 'PM', or 'XM'. |
|
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. |
|
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. |
|
This field contains a 'Y' if the Business Transaction Type is financial. |
|
This field contains a 'Y' if the transactions are clearing only. |
|
This field contains the Business Transaction Type. |
|
This field contains the Business Transaction Cycle. |
|
Possible values for this field are 'Y' or 'N'. |
|
This field indicates the disposition of the transactions. |
|
This field contains the transaction count. |
|
This field contains the clearing amount corresponding to Business Mode and Transaction Disposition. |
|
The Interchange Value Sign is DB for debit or CR for credit. |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
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. |
|
This field contains the Reimbursement Fee and is only applicable for Japanese NNSS Deferred Settlement. |
|
This field contains the Reimbursement Fee Sign and is only applicable for Japanese NNSS Deferred Settlement. |
|
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. |
|
This field contains the Payment Amount Sign and is only applicable for Japanese NNSS Deferred Settlement. |
|
This field is only applicable when Report Identification Number = 910 or when the Report Identification Number = 900 and reporting for Brazil NNSS. |
|
This field is only valid when the payment mode is 61. |
|
This field contains ending date range for information contained in the report when the Report Identification Suffix contains 'M', 'SM', 'PM', or 'XM'. |
|
This field contains ending date range for information contained in the report when the Report Identification Suffix contains 'M', 'SM', 'PM', or 'XM'. |
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.
Path | Description |
---|---|
|
The BIN to which this DMSC transaction message is sent. |
|
The BIN from which this DMSC transaction message was sent. This will be the BIN of the VIC. This field will contain zeros. |
|
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. |
|
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. |
|
When the Report Identifier Suffix contains 'P' or 'PS', this field contains the identification for the clearing BIN. |
|
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 contains the 3-digit code that identifies the settlement service used. |
|
When Summary-Level contains 06, 07, or 08, the possible values for this field are: |
|
The possible values for this field are 'Y' or space, if there is no data for this report. |
|
The possible values for this field are: 900 and 910. |
|
The possible values for this field are: Space, 'S', 'P', 'PS', 'M', 'SM', 'PM', or 'XM'. |
|
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. |
|
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. |
|
This field contains a 'Y' if the Business Transaction Type is financial. |
|
This field contains a 'Y' if the transactions are clearing only. |
|
This field contains the Business Transaction Type. |
|
This field contains the Business Transaction Cycle. |
|
Possible values for this field are 'Y' or 'N'. |
|
This field indicates the disposition of the transactions. |
|
This field contains the transaction count. |
|
This field contains the clearing amount corresponding to Business Mode and Transaction Disposition. |
|
The Interchange Value Sign is DB for debit or CR for credit. |
|
This field designates the level of summarisation contained in the TC 46 record. Possible values for this field are: |
|
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. |
|
This field contains the Reimbursement Fee and is only applicable for Japanese NNSS Deferred Settlement. |
|
This field contains the Reimbursement Fee Sign and is only applicable for Japanese NNSS Deferred Settlement. |
|
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. |
|
This field contains the Payment Amount Sign and is only applicable for Japanese NNSS Deferred Settlement. |
|
This field is only applicable when Report Identification Number = 910 or when the Report Identification Number = 900 and reporting for Brazil NNSS. |
|
This field is only valid when the payment mode is 61. |
|
This field contains ending date range for information contained in the report when the Report Identification Suffix contains 'M', 'SM', 'PM', or 'XM'. |
|
This field contains ending date range for information contained in the report when the Report Identification Suffix contains 'M', 'SM', 'PM', or 'XM'. |
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).
Path | Description |
---|---|
|
The entity to which transaction message is sent. This field contains spaces or a valid identifier to receive monetary items. |
|
The entity from which transaction message was sent. This field contains a valid identifier to send monetary items. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
Identifies the submitted transaction amount in the currency that is appropriate to the source endpoint. The field is numeric and greater than zero. |
|
The currency type associated with the amount of a transaction entered into interchange. This field contains a valid ISO numeric code. |
|
This field can be used for a freeform text message. The field not contain all spaces. |
|
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). |
|
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. |
|
This field is reserved for future use. EP will always space-fill. |
|
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). |
|
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.
Path | Description |
---|---|
|
This field will contain the value of 33 (Clearing and settlement advice). |
|
This field will contain the value of 0 (Default). |
|
This field will contain the value of 1 |
|
This field will contain a valid acquiring or issuing identifier or Clearing and Settlement Advice Split Route destination identifier, if present. |
|
This field will contain a valid acquiring or issuing identifier. |
|
This field will contain the value of CAS (Clearing and Settlement). |
|
Description: This field will indicate whether the transaction data is for the
originator or recipient and will contain one of these values: |
|
This field will contain the transaction code of the transaction. |
|
This field contains Transaction Code Qualifier of the transaction. |
|
This field will contain the central processing date (CPD) of the transaction and will be in the format of YDDD, where: |
|
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. |
|
This field will contain the primary account number (PAN) of the transaction. |
|
This field will contain the PAN extension. |
|
This field will contain the 23-digit identification number assigned by the acquirer. |
|
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. |
|
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. |
|
This field will contain the amount of the transaction. |
|
This field will contain the 3-digit ISO currency code for the value in the Source Amount field. |
|
This field will contain a value that indicates the service used for settlement. Values: |
|
This field will contain the name of the settlement service that the transaction settled. |
|
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. |
|
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. |
|
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. |
|
If destined to Originator, use Source Settlement Amount - Interchange. If destined to Recipient, use Destination Settlement Amount - Interchange. |
|
This field will contain one of the following values that indicates the sign of the amount in the Settlement Amount - Interchange Field: |
|
This field will indicate whether this is the first or second presentment and will contain one of the following: |
|
This field will indicate whether the transaction was reclassified and will contain one of these: |
|
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. |
|
This field is reserved for future use. EP will always space-fill. |
|
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. |
|
This field will indicate whether the interchange fee amount is a credit or debit for the transaction and will contain one of these values: |
|
This field will contain the merchant verification value (MVV) that was assigned to the merchant. |
|
This field contains an interchange reimbursement fee program indicator (FPI). |
|
If destined to Originator/Source, use Source Fee descriptor. If destined to Recipient/Destination, use Destination Fee descriptor. |
|
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: |
|
This field will contain the settlement date of the transaction and will be in the format of YDDD, where: |
|
A unique file number (such as an identification) used by the Edit Package for history checking. |
|
This field contains a code that identifies if the transaction underwent Persistent Foreign Exchange service processing. Valid values are: |
|
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. |
|
This field contains a code that identifies if the transaction is eligible for token services. Valid values are: |
|
This field will contain the agreement ID associated with the agreed fee rate. |