-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Sergey Anisiforov
authored and
Sergey Anisiforov
committed
Jun 2, 2023
1 parent
3c8a0a2
commit 2f8fa0e
Showing
26 changed files
with
929 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
// | ||
// Created by Evgeniy Sinev on 03/04/16. | ||
// Copyright (c) 2016 payneteasy. All rights reserved. | ||
// | ||
|
||
#import <Foundation/Foundation.h> | ||
|
||
@protocol ISpireMessage <NSObject> | ||
|
||
|
||
- (id)initFromData:(NSData *)aData; | ||
|
||
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
// | ||
// Created by Evgeniy Sinev on 14/04/16. | ||
// | ||
|
||
#import <Foundation/Foundation.h> | ||
|
||
@class BerTlv; | ||
|
||
|
||
typedef NS_ENUM(NSInteger, MiuraBatteryStatusType) { | ||
MiuraBatteryStatusType_NOT_CHARGING = 0, | ||
MiuraBatteryStatusType_CHARGING = 1, | ||
MiuraBatteryStatusType_FULLY_CHARGED = 2, | ||
MiuraBatteryStatusType_UNKNOWN = -1 | ||
}; | ||
|
||
|
||
@interface MiuraBatteryStatusResponse : NSObject | ||
|
||
@property (nonatomic, readonly) MiuraBatteryStatusType batteryStatus; | ||
@property (nonatomic, readonly) int8_t batteryPercentage; | ||
|
||
+ (BOOL)isApplied:(BerTlv *)aBerTlv; | ||
|
||
- (id)initWithBerTlv:(BerTlv *)aBerTlv; | ||
|
||
- (NSString *)description; | ||
|
||
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
// | ||
// Created by Evgeniy Sinev on Wed Aug 13 01:22:29 MSK 2014 | ||
// | ||
|
||
#import <Foundation/Foundation.h> | ||
|
||
@class BerTlv; | ||
|
||
@interface MiuraCardStatusMessage : NSObject | ||
|
||
@property(nonatomic, readonly) BOOL isCardPresent; | ||
@property(nonatomic, readonly) BOOL isEmvCompatible; | ||
|
||
@property(nonatomic, readonly) BOOL isMsrDataAvailable; | ||
@property(nonatomic, readonly) BOOL isTrack1Available; | ||
@property(nonatomic, readonly) BOOL isTrack2Available; | ||
@property(nonatomic, readonly) BOOL isTrack3Available; | ||
|
||
@property(copy, nonatomic, readonly) NSString *track1; | ||
@property(copy, nonatomic, readonly) NSString *track2; | ||
@property(copy, nonatomic, readonly) NSString *track3; | ||
@property(copy, nonatomic, readonly) NSString *maskedTrack2; | ||
|
||
@property(copy, nonatomic, readonly) BerTlv *tlv; | ||
|
||
- (id)initWithBerTlv:(BerTlv *)aBerTlv; | ||
|
||
- (NSString *)description; | ||
|
||
+ (BOOL)isApplied:(BerTlv *)aBerTlv; | ||
|
||
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
// | ||
// Created by Evgeniy Sinev on Sat Aug 16 01:58:34 MSK 2014 | ||
// | ||
|
||
#import <Foundation/Foundation.h> | ||
|
||
@class BerTlv; | ||
|
||
@interface MiuraDeviceStatusMessage : NSObject | ||
|
||
typedef NS_ENUM(NSInteger, MiuraDeviceStatusType) { | ||
MiuraDeviceStatusType_DEVICE_POWER_ON | ||
, MiuraDeviceStatusType_PIN_ENTRY_EVENT | ||
, MiuraDeviceStatusType_APPLICATION_SELECTION | ||
, MiuraDeviceStatusType_DEVICE_POWERING_OFF | ||
, MiuraDeviceStatusType_DEVICE_REBOOTING | ||
, MiuraDeviceStatusType_MPI_RESTARTING | ||
, MiuraDeviceStatusType_NOT_FOUND | ||
, MiuraDeviceStatusType_UNKNOWN | ||
}; | ||
|
||
typedef NS_ENUM(NSInteger, MiuraPinEntryStatus) { | ||
MiuraPinEntryStatus_LAST_POSSIBLE_ATTEMPT | ||
, MiuraPinEntryStatus_PIN_OK | ||
, MiuraPinEntryStatus_INCORRECT_PIN | ||
, MiuraPinEntryStatus_PIN_ENTRY_ERROR | ||
, MiuraPinEntryStatus_PIN_ENTRY_COMPLETED | ||
, MiuraPinEntryStatus_NOT_FOUND | ||
}; | ||
|
||
@property (readonly, nonatomic) MiuraDeviceStatusType type; | ||
@property (copy, readonly, nonatomic) NSString *text; | ||
@property (readonly, nonatomic) MiuraPinEntryStatus pinEntryStatus; | ||
@property (readonly, nonatomic) NSUInteger pinDigits; | ||
|
||
- (id)initWithTlv:(BerTlv *)aTlv ; | ||
|
||
- (NSString *)description; | ||
+(BOOL) isApplied:(BerTlv *) aTlv; | ||
|
||
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
// | ||
// Created by Evgeniy Sinev on Wed Aug 13 01:22:29 MSK 2014 | ||
// | ||
|
||
#import <Foundation/Foundation.h> | ||
|
||
@class BerTlv; | ||
|
||
@interface MiuraResetDeviceResponse : NSObject | ||
|
||
|
||
@property(copy, nonatomic, readonly) NSString *deviceSerialNumber; | ||
|
||
@property(copy, nonatomic, readonly) BerTlv *tlv; | ||
|
||
- (id)initWithBerTlv:(BerTlv *)aBerTlv; | ||
|
||
- (NSString *)description; | ||
|
||
+ (BOOL)isApplied:(BerTlv *)aBerTlv; | ||
|
||
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
// | ||
// Created by Evgeniy Sinev on Sat Aug 16 00:27:04 MSK 2014 | ||
// | ||
|
||
#import <Foundation/Foundation.h> | ||
|
||
@interface PNECard : NSObject | ||
|
||
@property (copy, readonly, nonatomic) NSString *scheme; | ||
@property (copy, readonly, nonatomic) NSString *expiryYear2; | ||
@property (copy, readonly, nonatomic) NSString *expiryMonth; | ||
@property (copy, readonly, nonatomic) NSString *encryptedData; | ||
@property (copy, readonly, nonatomic) NSString *panFirstDigits; | ||
@property (copy, readonly, nonatomic) NSString *panLastDigits; | ||
@property (copy, readonly, nonatomic) NSString *cardHolderName; | ||
@property ( readonly, nonatomic) BOOL pinEntered; | ||
@property (copy, readonly, nonatomic) NSString *terminalSerialNumber; | ||
|
||
- (instancetype)initWithScheme:(NSString *)aScheme | ||
expiryYear2:(NSString *)expiryYear2 | ||
expiryMonth:(NSString *)expiryMonth | ||
encryptedData:(NSString *)encryptedData | ||
panFirstDigits:(NSString *)panFirstDigits | ||
panLastDigits:(NSString *)panLastDigits | ||
cardHolderName:(NSString *)cardHolderName | ||
pinEntered:(BOOL )aPinEntered | ||
terminalSerialNumber:(NSString *)aTerminalSerialNumber | ||
; | ||
|
||
- (NSString *)description; | ||
|
||
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
// | ||
// Created by Evgeniy Sinev on Sat Aug 16 00:27:31 MSK 2014 | ||
// | ||
|
||
#import <Foundation/Foundation.h> | ||
|
||
@interface PNECardError : NSObject <NSCopying> | ||
|
||
typedef NS_ENUM(NSInteger, PNECardErrorType) { | ||
|
||
|
||
PNECardErrorType_PARSE_PACKET_ERROR = 100 + 2 | ||
, PNECardErrorType_PARSE_TRACK_ERROR = 100 + 3 | ||
, PNECardErrorType_EMPTY_CARD_INFO = 100 + 4 | ||
, PNECardErrorType_UNKNOWN_CARD_TYPE = 100 + 5 | ||
, PNECardErrorType_CARD_NOT_VALID = 100 + 6 | ||
, PNECardErrorType_SKIP = 100 + 7 | ||
, PNECardErrorType_BAD_PACKET_LRC = 100 + 8 | ||
|
||
, PNECardErrorType_ERROR_DOWNLOADING_CONFIGURATION = 100 + 9 | ||
, PNECardErrorType_NO_CONFIGURATION_CONTINUATION = 100 + 10 | ||
, PNECardErrorType_AMOUNT_NOT_MATCHED_APPROVED = 100 + 11 | ||
, PNECardErrorType_AMOUNT_NOT_MATCHED_DECLINED = 100 + 12 | ||
|
||
// see 6.24 START TRANSACTION: SW1 = '9F' with SW2 = (See Table Below) | ||
// see 6.25 CONTINUE TRANSACTION: SW1 = '9F' with SW2 = (See Table Below) | ||
, PNECardErrorType_NOT_SRED_READY = 1000 + 0xE0 // Not SRED Ready | ||
, PNECardErrorType_INVALID_DATA_IN_COMMAND_APDU = 1000 + 0x21 // Invalid data in command APDU | ||
, PNECardErrorType_TERMINAL_NOT_READY = 1000 + 0x22 // Terminal not ready (Continue before Start) | ||
, PNECardErrorType_NO_SMART_CARD_IN_SLOT = 1000 + 0x23 // No smartcard in slot | ||
, PNECardErrorType_INVALID_CARD = 1000 + 0x25 // Invalid card, card responded incorrectly, no MSR fall back allowed | ||
, PNECardErrorType_TRANSACTION_ALREADY_IN_PROGRESS = 1000 + 0x26 // Transaction already in progress. | ||
, PNECardErrorType_DATA_MISSING_FROM_COMMAND_APDU = 1000 + 0x27 // Data missing from command APDU (data field should list missing object(s) | ||
, PNECardErrorType_UNSUPPORTED_CARD = 1000 + 0x28 // Unsupported card, EMV Kernel not configured for this card, MSR fall back allowed | ||
, PNECardErrorType_MISSING_FILE = 1000 + 0x2a // Missing file (data field should list missing file) | ||
, PNECardErrorType_ICC_READ_ERROR = 1000 + 0x30 // ICC Read error, MSR fall back allowed | ||
, PNECardErrorType_INVALID_ISSUER_PUBLIC_KEY = 1000 + 0x40 // Invalid issuer public key, hash check failed | ||
, PNECardErrorType_USER_CANCELLED = 1000 + 0x41 // User Cancelled, Transaction Cancelled by the Cancel key pressed or a command Abort received | ||
|
||
// see 6.26 START CONTACTLESS TRANSACTION | ||
, PNECardErrorType_TRANSACTION_TIMED_OUT = 1000 + 0x42 // Transaction Timed Out - Polling time-out elapsed with no card presented in field | ||
, PNECardErrorType_TRANSACTION_ABORTED_BY_INSERTED = 1000 + 0x43 // Transaction Aborted by a card being inserted | ||
, PNECardErrorType_TRANSACTION_ABORTED_BY_SWIPED = 1000 + 0x44 // Transaction Aborted by a card being swiped | ||
, PNECardErrorType_NO_APPLICATIONS = 1000 + 0xC1 // No applications for the transaction conditions: Transaction should be performed using ICC or MSR | ||
, PNECardErrorType_TRANSACTION_NOT_POSSIBLE = 1000 + 0xC2 // Transaction not possible: Transaction should be performed using ICC, MSR or another Card | ||
, PNECardErrorType_USE_ICC = 1000 + 0xC3 // The card asked for Chip interface: Transaction should be performed using ICC | ||
, PNECardErrorType_TERMINAL_CONNECTION_LOST = 1000 + 0xC4 // Connection to terminal is lost | ||
, PNECardErrorType_HARDWARE_ERROR = 1000 + 0xCF // Hardware error | ||
|
||
// // 11.4 P2PE INITIALISE | ||
// , PNECardErrorType_ = 1000 + 0xE0 // System file/certificate missing. | ||
// , PNECardErrorType_ = 1000 + 0xE1 // Failed to generate RSA key | ||
// , PNECardErrorType_ = 1000 + 0xE2 // Failed to load RSA key | ||
// , PNECardErrorType_ = 1000 + 0xE3 // Failed to create RSA Certificate | ||
// , PNECardErrorType_ = 1000 + 0xE4 // Failed to prepare output files | ||
// , PNECardErrorType_ = 1000 + 0xE5 // Internal Error, contact Miura Systems | ||
|
||
, PNECardErrorType_SPIRE_GENERAL_FAILURE = 2000 + 0 // (mPOS) General Failure | ||
, PNECardErrorType_SPIRE_CHIP_APPLICATION_SELECTION_FAILURE = 2000 + 1 // (Chip) Application Selection Failure | ||
, PNECardErrorType_SPIRE_CHIP_INITIATE_APPLICATION_PROCESSING_FAILURE = 2000 + 2 // (Chip) Initiate Application Processing Failure | ||
, PNECardErrorType_SPIRE_CHIP_READ_APPLICATION_DATA_FAILURE = 2000 + 3 // (Chip) Read Application Data Failure | ||
, PNECardErrorType_SPIRE_CHIP_OFFLINE_DATA_AUTHENTICATION_FAILURE = 2000 + 4 // (Chip) Offline Data Authentication Failure | ||
, PNECardErrorType_SPIRE_CHIP_PROCESS_RESTRICTIONS_FAILURE = 2000 + 5 // (Chip) Process Restrictions Failure | ||
, PNECardErrorType_SPIRE_CHIP_TERMINAL_RISK_MANAGEMENT_FAILURE = 2000 + 6 // (Chip) Terminal Risk Management Failure | ||
, PNECardErrorType_SPIRE_CHIP_CARDHOLDER_VERIFICATION_METHOD_FAILURE = 2000 + 7 // (Chip) Cardholder Verification Method Failure | ||
, PNECardErrorType_SPIRE_CHIP_TERMINAL_ACTION_ANALYSIS_FAILURE = 2000 + 8 // (Chip) Terminal Action Analysis Failure | ||
, PNECardErrorType_SPIRE_CHIP_CARD_ACTION_ANALYSIS_FAILURE = 2000 + 9 // (Chip) Card Action Analysis Failure | ||
, PNECardErrorType_SPIRE_CHIP_COMPLETION_FAILURE = 2000 + 10 // (Chip) Completion Failure | ||
, PNECardErrorType_SPIRE_EPOS_TRANSACTION_TERMINATED = 2000 + 11 // (EPOS) Transaction Terminated | ||
, PNECardErrorType_SPIRE_CHIP_NO_ANSWER_TO_RESET = 2000 + 12 // (Chip) No Answer to Reset | ||
, PNECardErrorType_SPIRE_SWIPE_READ_FAILURE = 2000 + 13 // (Swipe) Read Failure | ||
, PNECardErrorType_SPIRE_CHIP_CARD_REMOVED = 2000 + 14 // (Chip) Card Removed | ||
, PNECardErrorType_SPIRE_MPOS_USER_CANCELLED = 2000 + 15 // (mPOS) User Cancelled | ||
, PNECardErrorType_SPIRE_CHIP_NO_SUPPORTED_APPLICATIONS = 2000 + 16 // (Chip) No Supported Applications | ||
, PNECardErrorType_SPIRE_CHIP_CARD_BLOCKED = 2000 + 17 // (Chip) Card Blocked | ||
, PNECardErrorType_SPIRE_CHIP_READ_FAILURE = 2000 + 18 // (Chip) Read Failure | ||
, PNECardErrorType_SPIRE_MPOS_USER_TIME_OUT = 2000 + 19 // (mPOS) User Time Out | ||
, PNECardErrorType_SPIRE_MPOS_DUKPT_KEY_FAILURE = 2000 + 20 // (mPOS) DUKPT Key Failure | ||
, PNECardErrorType_SPIRE_MPOS_MK_SK_KEY_FAILURE = 2000 + 21 // (mPOS) MK/SK Key Failure | ||
, PNECardErrorType_SPIRE_CONTACTLESS_NOT_ALLOWED = 2000 + 22 // (Contactless) Not Allowed | ||
, PNECardErrorType_SPIRE_CONTACTLESS_ABORTED = 2000 + 23 // (Contactless) Aborted | ||
|
||
// Common | ||
}; | ||
|
||
|
||
@property (readonly, nonatomic) PNECardErrorType type; | ||
@property (readonly, nonatomic) NSString * errorMessage; | ||
@property (readonly, nonatomic) NSError * error; // since 0.2.0 | ||
|
||
- (instancetype)initWithType:(PNECardErrorType)aType errorMessage:(NSString *)anErrorMessage; | ||
|
||
// since 0.2.0 | ||
- (instancetype)initWithType:(PNECardErrorType)aType error:(NSError *)aError; | ||
|
||
- (instancetype)initWithType:(PNECardErrorType)type errorMessage:(NSString *)errorMessage error:(NSError *)error; | ||
|
||
- (NSString *)description; | ||
|
||
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
/** | ||
* This file is generated using the remodel generation script. | ||
* The name of the input file is PNEConfigurationContinuation.value | ||
*/ | ||
|
||
#import <Foundation/Foundation.h> | ||
|
||
@interface PNEConfigurationContinuation : NSObject <NSCopying, NSCoding> | ||
|
||
/** | ||
* reader configuration service base url. For example: https://gate.payneteasy.com/rki | ||
*/ | ||
@property (nonatomic, readonly, copy) NSString *baseRkiUrl; | ||
/** | ||
* reader processing service base url. For example: https://gate.payneteasy.com/paynet | ||
*/ | ||
@property (nonatomic, readonly, copy) NSString *baseProcessingUrl; | ||
/** | ||
* merchant login | ||
*/ | ||
@property (nonatomic, readonly, copy) NSString *merchantLogin; | ||
/** | ||
* merchant control key | ||
*/ | ||
@property (nonatomic, readonly, copy) NSString *merchantKey; | ||
/** | ||
* end point id | ||
*/ | ||
@property (nonatomic, readonly) int64_t merchantEndPointId; | ||
/** | ||
* merchant name, some readers can display it on its display | ||
*/ | ||
@property (nonatomic, readonly, copy) NSString *merchantName; | ||
|
||
- (instancetype)initWithBaseRkiUrl:(NSString *)baseRkiUrl baseProcessingUrl:(NSString *)baseProcessingUrl merchantLogin:(NSString *)merchantLogin merchantKey:(NSString *)merchantKey merchantEndPointId:(int64_t)merchantEndPointId merchantName:(NSString *)merchantName; | ||
|
||
@end | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
#import <Foundation/Foundation.h> | ||
|
||
@class PNEConfigurationContinuation; | ||
|
||
@interface PNEConfigurationContinuationBuilder : NSObject | ||
|
||
+ (instancetype)configurationContinuation; | ||
|
||
+ (instancetype)configurationContinuationFromExistingConfigurationContinuation:(PNEConfigurationContinuation *)existingConfigurationContinuation; | ||
|
||
- (PNEConfigurationContinuation *)build; | ||
|
||
- (instancetype)withBaseRkiUrl:(NSString *)baseRkiUrl; | ||
|
||
- (instancetype)withBaseProcessingUrl:(NSString *)baseProcessingUrl; | ||
|
||
- (instancetype)withMerchantLogin:(NSString *)merchantLogin; | ||
|
||
- (instancetype)withMerchantKey:(NSString *)merchantKey; | ||
|
||
- (instancetype)withMerchantEndPointId:(int64_t)merchantEndPointId; | ||
|
||
- (instancetype)withMerchantName:(NSString *)merchantName; | ||
|
||
@end | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
// | ||
// Created by Evgeniy Sinev on Sat Aug 16 00:29:18 MSK 2014 | ||
// | ||
|
||
#import <Foundation/Foundation.h> | ||
|
||
@interface PNEProcessingContinuation : NSObject | ||
|
||
@property (copy, readonly, nonatomic) NSString * baseUrl; | ||
@property (copy, readonly, nonatomic) NSString * merchantLogin; | ||
@property (copy, readonly, nonatomic) NSString * merchantKey; | ||
@property ( readonly, nonatomic) NSUInteger merchantEndPointId; | ||
@property (copy, readonly, nonatomic) NSString * orderInvoiceNumber; | ||
|
||
@property (copy, nonatomic) NSString * customerEmail; | ||
@property (copy, nonatomic) NSString * customerAddress; | ||
@property (copy, nonatomic) NSString * customerCountry; | ||
@property (copy, nonatomic) NSString * customerPhone; | ||
@property (copy, nonatomic) NSString * orderMerchantData; | ||
@property (copy, nonatomic) NSString * orderDescription; | ||
|
||
- (instancetype)initWithBaseUrl:(NSString *)aBaseUrl | ||
merchantLogin:(NSString *)aMerchantLogin | ||
merchantKey:(NSString *)aMerchantKey | ||
merchantEndPointId:(NSUInteger)aMerchantEndPointId | ||
orderInvoiceNumber:(NSString *)anOrderInvoiceNumber; | ||
|
||
+ (instancetype)continuationWithBaseUrl:(NSString *)aBaseUrl | ||
merchantLogin:(NSString *)aMerchantLogin | ||
merchantKey:(NSString *)aMerchantKey | ||
merchantEndPointId:(NSUInteger)aMerchantEndPointId | ||
orderInvoiceNumber:(NSString *)anOrderInvoiceNumber; | ||
|
||
|
||
@end |
Oops, something went wrong.