Skip to content

Instantly share code, notes, and snippets.

@jgabrielfreitas
Created September 28, 2018 22:53
Show Gist options
  • Select an option

  • Save jgabrielfreitas/9b482c67eb334a1c4c8cc78fd46d6165 to your computer and use it in GitHub Desktop.

Select an option

Save jgabrielfreitas/9b482c67eb334a1c4c8cc78fd46d6165 to your computer and use it in GitHub Desktop.
Transaction Notifier contracts

Transaction Notifier

Enums

CancellationReason
Option Resolution
Unspecified Unspecified reason
CustomerCancellation The customer requested a cancellation
TimeoutWaitingForResponse Timeout waiting for a response
UnexpectedResponse The received response message was different than expected, e.g., an HTTP 500 status
SuspectedMalfunction An unexpected error occurred in the point of interaction during the transaction, e.g., an unexpected power off
UnableToCompleteTransaction The terminal was unable to complete the transaction, e.g., the cardholder removed the card from the POI before the response
UnableToDeliverMessageToPoi The response message could not be delivered to the point of interaction
IccDeclined The ICC declined the transaction
AccountDataInputType
Option Resolution
Manual Manual data input
MagneticStripe Magnetic stripe data input
Chip EMV chip data input
AccountFundingSource
Option Resolution
Credit Credit funding source
Debit Debit funding source
Prepaid Prepaid funding source
AccountHolderVerificationMethod
Option Resolution
None No verification method was used
Unknown The verification method is unknown
NotRequired The verification is not required by ICC
Signature Signature
VerificationCode A printed code used to verify ownership of the account holder
OfflinePin PIN verification performed by ICC
OnlinePin PIN verified online
Online3DSecure Verification using EMV 3-D Secure
AccountHolderVerificationMethodResult
Option Resolution
Unknown The result is unknown
NotProcessed The verification method was not processed
Match The verification method resulted in a match
NoMatch The verification method did not result in a match
AmountState
Option Resolution
None None of the amount is present
Full All of the amount is present
Partial Part of the amount is present
InstallmentType
Option Resolution
IssuerFinanced The issuer finances the transaction
MerchantFinanced The merchant finances the transaction
AcquirerFinanced The acquirer finances the transaction
PointOfInteractionType
Option Resolution
Integrated Integrated point of sale
SemiIntegrated Semi-integrated point of sale
ECommerce Electronic commerce point of sale
MCommerce Mobile commerce point of sale
MailOrTelephone Mail or telephone point of sale
SchemeBusinessModel
Option Resolution
Undefined Undefined value
FullAcquirer Full acquirer business model
SubAcquirer Sub acquirer business model
ValueAddedNetwork Value added network business model
TransactionLiability
Option Resolution
Acquirer The acquirer is liable for a transaction
Issuer The issuer is liable for a transaction

Contratos

Authorizations - AuthorizationNotificationMessage

{
    "Operation":{
       "Amount":{
          "Authorized":0.0,
          "Requested":0.0
       },
       "Emv":{
          "AccountNumberSequenceNumber":null,
          "RequestTags":{
 
          },
          "ResponseTags":{
 
          }
       },
       "MagneticStripe":{
          "AccountHolderName":null,
          "ExpirationDate":null,
          "ServiceCode":null
       },
       "InitiatorOperationKey":null,
       "InternalResponseCode":null,
       "OperationKey":null,
       "ResponseCode":null,
       "SchemeRequestMessage":null,
       "SchemeResponseCode":null,
       "SchemeResponseMessage":null,
       "Timestamp":null
    },
    "Transaction":{
       "AccountFundingSource":0,
       "AccountHolder":{
          "Name":null
       },
       "AccountNumber":{
          "CountryCode":0,
          "ExpirationDate":null,
          "MaskedNumber":null,
          "SchemeKey":null,
          "Token":null
       },
       "Amount":{
          "AccountHolder":{
             "Authorized":0.0,
             "Canceled":0.0,
             "Confirmed":0.0,
             "CurrencyCode":0
          },
          "AuthorizedState":0,
          "CanceledState":0,
          "ConfirmedState":0,
          "IsEstimated":false,
          "Merchant":{
             "Authorized":0.0,
             "Canceled":0.0,
             "Confirmed":0.0,
             "CurrencyCode":0
          }
       },
       "AuthorizationCode":null,
       "Features":{
          "AccountDataInputType":0,
          "AccountHolderVerificationMethods":null,
          "IsContactless":false,
          "IsFallback":false,
          "Liability":0
       },
       "InitiatorTransactionKey":null,
       "Installment":null,
       "IsCaptured":false,
       "IsReversed":false,
       "MerchantKey":null,
       "OperationCount":0,
       "PointOfInteractionKey":null,
       "SalesOrderKey":null,
       "SchemeBusinessModel":0,
       "SchemeTransactionKey":null,
       "TransactionDate":{
          "AuthorizationTimestamp":null,
          "CaptureTimestamp":null,
          "LocalTimestamp":null,
          "ReversalTimestamp":null
       },
       "TransactionKey":null,
       "TransactionMerchant":{
          "CategoryCode":null,
          "City":null,
          "CountryCode":0,
          "CountrySubdivisionCode":null,
          "IsDynamic":false,
          "Name":null,
          "PostalCode":null,
          "StreetAddress":null,
          "SubMerchantId":null,
          "TaxId":null
       },
       "TransactionPointOfInteraction":{
          "TerminalSerialNumber":null,
          "Type":0
       }
    }
 }

Capture - CaptureNotificationMessage

{
   "Operation":{
      "Amount":null,
      "InitiatorOperationKey":null,
      "InternalResponseCode":null,
      "OperationKey":null,
      "ResponseCode":null,
      "SchemeRequestMessage":null,
      "SchemeResponseCode":null,
      "SchemeResponseMessage":null,
      "Timestamp":null
   },
   "Transaction":{
      "AccountFundingSource":0,
      "AccountHolder":{
         "Name":null
      },
      "AccountNumber":{
         "CountryCode":0,
         "ExpirationDate":null,
         "MaskedNumber":null,
         "SchemeKey":null,
         "Token":null
      },
      "Amount":{
         "AccountHolder":{
            "Authorized":0.0,
            "Canceled":0.0,
            "Confirmed":0.0,
            "CurrencyCode":0
         },
         "AuthorizedState":0,
         "CanceledState":0,
         "ConfirmedState":0,
         "IsEstimated":false,
         "Merchant":{
            "Authorized":0.0,
            "Canceled":0.0,
            "Confirmed":0.0,
            "CurrencyCode":0
         }
      },
      "AuthorizationCode":null,
      "Features":{
         "AccountDataInputType":0,
         "AccountHolderVerificationMethods":null,
         "IsContactless":false,
         "IsFallback":false,
         "Liability":0
      },
      "InitiatorTransactionKey":null,
      "Installment":null,
      "IsCaptured":false,
      "IsReversed":false,
      "MerchantKey":null,
      "OperationCount":0,
      "PointOfInteractionKey":null,
      "SalesOrderKey":null,
      "SchemeBusinessModel":0,
      "SchemeTransactionKey":null,
      "TransactionDate":{
         "AuthorizationTimestamp":null,
         "CaptureTimestamp":null,
         "LocalTimestamp":null,
         "ReversalTimestamp":null
      },
      "TransactionKey":null,
      "TransactionMerchant":{
         "CategoryCode":null,
         "City":null,
         "CountryCode":0,
         "CountrySubdivisionCode":null,
         "IsDynamic":false,
         "Name":null,
         "PostalCode":null,
         "StreetAddress":null,
         "SubMerchantId":null,
         "TaxId":null
      },
      "TransactionPointOfInteraction":{
         "TerminalSerialNumber":null,
         "Type":0
      }
   }
}

Reversal - ReversalNotificationMessage

{
   "Operation":{
      "Reason":0,
      "InitiatorOperationKey":null,
      "InternalResponseCode":null,
      "OperationKey":null,
      "ResponseCode":null,
      "SchemeRequestMessage":null,
      "SchemeResponseCode":null,
      "SchemeResponseMessage":null,
      "Timestamp":null
   },
   "Transaction":{
      "AccountFundingSource":0,
      "AccountHolder":{
         "Name":null
      },
      "AccountNumber":{
         "CountryCode":0,
         "ExpirationDate":null,
         "MaskedNumber":null,
         "SchemeKey":null,
         "Token":null
      },
      "Amount":{
         "AccountHolder":{
            "Authorized":0.0,
            "Canceled":0.0,
            "Confirmed":0.0,
            "CurrencyCode":0
         },
         "AuthorizedState":0,
         "CanceledState":0,
         "ConfirmedState":0,
         "IsEstimated":false,
         "Merchant":{
            "Authorized":0.0,
            "Canceled":0.0,
            "Confirmed":0.0,
            "CurrencyCode":0
         }
      },
      "AuthorizationCode":null,
      "Features":{
         "AccountDataInputType":0,
         "AccountHolderVerificationMethods":null,
         "IsContactless":false,
         "IsFallback":false,
         "Liability":0
      },
      "InitiatorTransactionKey":null,
      "Installment":null,
      "IsCaptured":false,
      "IsReversed":false,
      "MerchantKey":null,
      "OperationCount":0,
      "PointOfInteractionKey":null,
      "SalesOrderKey":null,
      "SchemeBusinessModel":0,
      "SchemeTransactionKey":null,
      "TransactionDate":{
         "AuthorizationTimestamp":null,
         "CaptureTimestamp":null,
         "LocalTimestamp":null,
         "ReversalTimestamp":null
      },
      "TransactionKey":null,
      "TransactionMerchant":{
         "CategoryCode":null,
         "City":null,
         "CountryCode":0,
         "CountrySubdivisionCode":null,
         "IsDynamic":false,
         "Name":null,
         "PostalCode":null,
         "StreetAddress":null,
         "SubMerchantId":null,
         "TaxId":null
      },
      "TransactionPointOfInteraction":{
         "TerminalSerialNumber":null,
         "Type":0
      }
   }
}

Cancellation - CancellationNotificationMessage

{
   "Operation":{
      "Amount":0.0,
      "Reason":0,
      "InitiatorOperationKey":null,
      "InternalResponseCode":null,
      "OperationKey":null,
      "ResponseCode":null,
      "SchemeRequestMessage":null,
      "SchemeResponseCode":null,
      "SchemeResponseMessage":null,
      "Timestamp":null
   },
   "Transaction":{
      "AccountFundingSource":0,
      "AccountHolder":{
         "Name":null
      },
      "AccountNumber":{
         "CountryCode":0,
         "ExpirationDate":null,
         "MaskedNumber":null,
         "SchemeKey":null,
         "Token":null
      },
      "Amount":{
         "AccountHolder":{
            "Authorized":0.0,
            "Canceled":0.0,
            "Confirmed":0.0,
            "CurrencyCode":0
         },
         "AuthorizedState":0,
         "CanceledState":0,
         "ConfirmedState":0,
         "IsEstimated":false,
         "Merchant":{
            "Authorized":0.0,
            "Canceled":0.0,
            "Confirmed":0.0,
            "CurrencyCode":0
         }
      },
      "AuthorizationCode":null,
      "Features":{
         "AccountDataInputType":0,
         "AccountHolderVerificationMethods":null,
         "IsContactless":false,
         "IsFallback":false,
         "Liability":0
      },
      "InitiatorTransactionKey":null,
      "Installment":null,
      "IsCaptured":false,
      "IsReversed":false,
      "MerchantKey":null,
      "OperationCount":0,
      "PointOfInteractionKey":null,
      "SalesOrderKey":null,
      "SchemeBusinessModel":0,
      "SchemeTransactionKey":null,
      "TransactionDate":{
         "AuthorizationTimestamp":null,
         "CaptureTimestamp":null,
         "LocalTimestamp":null,
         "ReversalTimestamp":null
      },
      "TransactionKey":null,
      "TransactionMerchant":{
         "CategoryCode":null,
         "City":null,
         "CountryCode":0,
         "CountrySubdivisionCode":null,
         "IsDynamic":false,
         "Name":null,
         "PostalCode":null,
         "StreetAddress":null,
         "SubMerchantId":null,
         "TaxId":null
      },
      "TransactionPointOfInteraction":{
         "TerminalSerialNumber":null,
         "Type":0
      }
   }
}

Adjustment - AdjustmentNotificationMessage

{
   "Operation":{
      "IncrementalAmount":null,
      "InitiatorOperationKey":null,
      "InternalResponseCode":null,
      "OperationKey":null,
      "ResponseCode":null,
      "SchemeRequestMessage":null,
      "SchemeResponseCode":null,
      "SchemeResponseMessage":null,
      "Timestamp":null
   },
   "Transaction":{
      "AccountFundingSource":0,
      "AccountHolder":{
         "Name":null
      },
      "AccountNumber":{
         "CountryCode":0,
         "ExpirationDate":null,
         "MaskedNumber":null,
         "SchemeKey":null,
         "Token":null
      },
      "Amount":{
         "AccountHolder":{
            "Authorized":0.0,
            "Canceled":0.0,
            "Confirmed":0.0,
            "CurrencyCode":0
         },
         "AuthorizedState":0,
         "CanceledState":0,
         "ConfirmedState":0,
         "IsEstimated":false,
         "Merchant":{
            "Authorized":0.0,
            "Canceled":0.0,
            "Confirmed":0.0,
            "CurrencyCode":0
         }
      },
      "AuthorizationCode":null,
      "Features":{
         "AccountDataInputType":0,
         "AccountHolderVerificationMethods":null,
         "IsContactless":false,
         "IsFallback":false,
         "Liability":0
      },
      "InitiatorTransactionKey":null,
      "Installment":null,
      "IsCaptured":false,
      "IsReversed":false,
      "MerchantKey":null,
      "OperationCount":0,
      "PointOfInteractionKey":null,
      "SalesOrderKey":null,
      "SchemeBusinessModel":0,
      "SchemeTransactionKey":null,
      "TransactionDate":{
         "AuthorizationTimestamp":null,
         "CaptureTimestamp":null,
         "LocalTimestamp":null,
         "ReversalTimestamp":null
      },
      "TransactionKey":null,
      "TransactionMerchant":{
         "CategoryCode":null,
         "City":null,
         "CountryCode":0,
         "CountrySubdivisionCode":null,
         "IsDynamic":false,
         "Name":null,
         "PostalCode":null,
         "StreetAddress":null,
         "SubMerchantId":null,
         "TaxId":null
      },
      "TransactionPointOfInteraction":{
         "TerminalSerialNumber":null,
         "Type":0
      }
   }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment