/*
 * ============================================================================
 * = COPYRIGHT
 *          PAX Computer Technology(Shenzhen) Co., Ltd. PROPRIETARY INFORMATION
 *   This software is supplied under the terms of a license agreement or nondisclosure
 *   agreement with PAX Computer Technology(Shenzhen) Co., Ltd. and may not be copied or
 *   disclosed except in accordance with the terms in that agreement.
 *     Copyright (C) 2023 PAX Computer Technology(Shenzhen) Co., Ltd. All rights reserved.
 * ============================================================================
 */
/**
 Response Transaction EMV Tag.
 */

#import <Foundation/Foundation.h>
#if __has_include(<POSLinkAdmin/PLEmvTag.h>)
   #import <POSLinkAdmin/PLEmvTag.h>
#elif __has_include("PLEmvTag.h")
   #import "PLEmvTag.h"
#endif


#if __has_include(<POSLinkAdmin/PLSemiConst.h>)
   #import <POSLinkAdmin/PLSemiConst.h>
#elif __has_include("PLSemiConst.h")
   #import "PLSemiConst.h"
#endif


#if __has_include(<POSLinkAdmin/PLAdminConst.h>)
   #import <POSLinkAdmin/PLAdminConst.h>
#elif __has_include("PLAdminConst.h")
   #import "PLAdminConst.h"
#endif


#if __has_include(<POSLinkAdmin/PLPaymentEmvTag.h>)
   #import <POSLinkAdmin/PLPaymentEmvTag.h>
#elif __has_include("PLPaymentEmvTag.h")
   #import "PLPaymentEmvTag.h"
#endif



@interface PLPaymentEmvTag : PLEmvTag
/**
 Transaction Certificate, tag 9F26. Cryptogram returned by the ICC in response of the GENERATE AC command.

 Attribute : ans...16 
 */
@property (readwrite, nonatomic, copy)NSString *tc;
/**
 Terminal Verification Results, tag 95. Status of the different functions as seen from the terminal.

 Attribute : ans...10 
 */
@property (readwrite, nonatomic, copy)NSString *tvr;
/**
 Application Dedicated File (ADF) Name, tag 4F. Identifies the application as described in ISO/IEC 7816-5

 Attribute : ans...32 
 */
@property (readwrite, nonatomic, copy)NSString *aid;
/**
 Transaction Status Information, tag 9B. Indicates the functions performed in a transaction.

 Attribute : ans...4 
 */
@property (readwrite, nonatomic, copy)NSString *tsi;
/**
 Application Transaction Counter, tag 9F36. Counter maintained by the application in the ICC (incrementing the ATC is managed by the ICC).

 Attribute : ans...4 
 */
@property (readwrite, nonatomic, copy)NSString *atc;
/**
 Application Label, tag 50. Mnemonic associated with the AID according to ISO/IEC 7816-5.

 Attribute : ans...16 
 */
@property (readwrite, nonatomic, copy)NSString *appLabel;
/**
 Application Preferred Name, tag 9F12. Preferred mnemonic associated with the AID.

 Attribute : ans...16 
 */
@property (readwrite, nonatomic, copy)NSString *appPreferName;
/**
 Issuer Application Data, tag 9F10. Contains proprietary application data for transmission to the issuer in an online transaction.

 Attribute : ans...64 
 */
@property (readwrite, nonatomic, copy)NSString *iad;
/**
 Authorization Response Code, tag 8A. Code that defines the disposition of a message. i.e. Contact tag 8A:

Y1: Offline approved.

Y3: Unable to go online, offline approved.

Z1: Offline declined.

Z3: Unable to go online, offline declined.

Other: Online approved or declined.

 Attribute : ans...2 
 */
@property (readwrite, nonatomic, copy)NSString *arc;
/**
 Cryptogram Information Data, tag 9F27. Indicates the type of cryptogram and the actions to be performed by the terminal.

 Attribute : ans...2 
 */
@property (readwrite, nonatomic, copy)NSString *cid;
/**
 Cardholder Verification Method (CVM) Codes.

 Attribute : n1 
 */
@property (readwrite, nonatomic, assign)enum CardholderVerificationMethod cvm;
/**
 Authorization Request Cryptogram, tag 9F26. Cryptogram returned by the ICC in response of the GENERATE AC command.

 Attribute : ans...16 
 */
@property (readwrite, nonatomic, copy)NSString *arqc;
/**
 Authorization Code, tag 89. Value generated by the authorization authority for an approved transaction.

 Attribute : ans...6 
 */
@property (readwrite, nonatomic, copy)NSString *ac;
/**
 Application Interchange Profile, tag 82. Indicates the capabilities of the card to support specific functions in the application.

 Attribute : ans...4 
 */
@property (readwrite, nonatomic, copy)NSString *aip;
/**
 Application Version Number, tag 9F08. Version number assigned by the payment system for the application.

 Attribute : ans...4 
 */
@property (readwrite, nonatomic, copy)NSString *avn;
/**
 Issuer Authentication Data, tag 91. Data sent to the ICC for online issuer authentication.

 Attribute : ans...32 
 */
@property (readwrite, nonatomic, copy)NSString *issuerAuthorizationData;
/**
 Card Risk Management Data Object List 2 (CDOL2), tag 8D. List of data objects (tag and length) to be passed to the ICC in the second GENERATE AC command.

 Attribute : ans...256 
 */
@property (readwrite, nonatomic, copy)NSString *cdol2;
/**
 Host Responded EMV Data, may include tag 8A/89/91/71/72.

 Attribute : ans...256 
 */
@property (readwrite, nonatomic, copy)NSString *hostResponseEmvData;
/**
 Specifies the acquirer's conditions that cause a transaction to be rejected if it might have been approved online, but the terminal is unable to process the transaction online.

 Attribute : an10 
 */
@property (readwrite, nonatomic, copy)NSString *tacDefault;
/**
 Specifies the acquirer's conditions that cause the denial of a transaction without attempt to go online.

 Attribute : an10 
 */
@property (readwrite, nonatomic, copy)NSString *tacDenial;
/**
 Specifies the acquirer's conditions that cause a transaction to be transmitted.

 Attribute : an10 
 */
@property (readwrite, nonatomic, copy)NSString *tacOnline;
/**
 Issuer Action Code - Default, tag 9F0D. Specifies the issuer's conditions that cause a transaction to be rejected if it might have been approved online, but the terminal is unable to process the transaction online.

 Attribute : an10 
 */
@property (readwrite, nonatomic, copy)NSString *iacDefault;
/**
 Issuer Action Code – Denial, tag 9F0E. Specifies the issuer's conditions that cause the denial of a transaction without attempt to go online.

 Attribute : an10 
 */
@property (readwrite, nonatomic, copy)NSString *iacDenial;
/**
 Issuer Action Code – Online, tag 9F0F. Specifies the issuer's conditions that cause a transaction to be transmitted online.

 Attribute : an10 
 */
@property (readwrite, nonatomic, copy)NSString *iacOnline;
/**
 Application Usage Control, tag 9F07. Indicates issuer's specified restrictions on the geographic usage and services allowed for the application.

 Attribute : an4 
 */
@property (readwrite, nonatomic, copy)NSString *auc;
/**
 Application Primary Account Number (PAN) Sequence Number, tag 5F34. Identifies and differentiates cards with the same PAN.

 Attribute : n2 
 */
@property (readwrite, nonatomic, copy)NSString *panSequenceNumber;

@end