25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | public class Purchase { /** * Indicates the maximum number of authorisations permitred for installmet payments. The field is limited to maximum * 3 characters and value shall be greater than 1. * * The fields is required if the Merchant and Cardholder have agreed to installment payments, i.e. if 3DS Requestor * Authentication Indicator = 03. Omitted if not an installment payment authentication. */ private Integer purchaseInstalData; /** * Merchant's assessment of the level of fraud risk for the specific authentication for both the cardholder and the * authentication being conducted. * * The field is optional but strongly recommended to include. * * This object contains the following fields: * shipIndicator -> Indicates shipping method chosen for the transaction. Merchants must choose the Shipping * Indicator code that most accurately describes the cardholder's specific transaction. * If one or more items are included in the sale, use the Shipping Indicator code for the physical * goods, or if all dugutak goods, use the code that describes the most expensive item. * Accepted values are: * 01 -> Ship to cardholder's billing address * 02 -> Ship to another verified address on file with merchant * 03 -> Ship to address that is different than the cardholder's billing address * 04 -> "Ship to Store" / Pick-up at local store (Store address shall be populated in shipping * address fields) * 05 -> Digital goods (includes online services, electronic gift cards and redemption codes) * 06 -> Travel and Event tickets, not shipped * 07 -> Other (for example, Gaming, digital services not shipped, emedia subscriptions, etc.) * deliveryTimeframe -> Indicates the merchandise delivery timeframe. Accepted values are: * 01 -> Electronic Delivery * 02 -> Same day shipping * 03 -> Overnight shipping * 04 -> Two-day or more shipping * deliveryEmailAddress -> For electronic delivery, the email address to which the merchandise was delivered. * reorderItemsInd -> Indicates whether the cardholder is reoreding previously purchased merchandise. * Accepted values are: * 01 -> First time ordered * 02 -> Reordered * preOrderPurchaseInd -> Indicates whether Cardholder is placing an order for merchandise with a future * availability or release date. Accepted values are: * 01 -> Merchandise available * 02 -> Future availability * preOrderDate -> For a pre-ordered purchase, the expected date that the merchandise will be available. * Date format must be YYYYMMDD. * giftCardAmount -> For prepaid or gift card purchase, the purchase amount total of prepaid or gift card(s) in * major units (for example, USD 123.45 is 123). * giftCardCurr -> For prepaid or gift card purchase, the currency code of the card as defined in ISO 4217 except * 955 - 964 and 999. * giftCardCount -> For prepaid or gift card purchase, total count of individual prepaid or gift cards/codes * purchased. Field is limited to 2 characters. */ private MerchantRiskIndicator merchantRiskIndicator; /** * Purchase amount in minor units of currency with all punctuation removed. When used in conjunction with the Purchase * Currentcy Exponent field, proper punctuation can be calculated. Example: If the puchase amount is USD 123.45, * element will contain the value 12345. The field is limited to maximum 48 characters. * * This field is required for 02 - NPA message category if 3DS Requestor Authentication Indicator = 02 or 03. */ private BigInteger purchaseAmount; /** * Currency in which purchase amount is expressed. The value is limited to 3 numeric characters and is represented by * the ISO 4217 three-digit currency code, except 955-964 and 999. * * This field is required for requests where messageCategory = 01-PA and for 02-NPA if 3DS Requestor Authentication * Indigator = 02 or 03. */ private String purchaseCurrency; /** * Minor units of currency as specified in the ISO 4217 currency exponent. The field is limited to 1 character and it * is required for 01-PA and for 02-NPA if 3DS Requestor Authentication Indicator = 02 or 03. * * Example: for currency USD the exponent should be 2, and for Yen the exponent should be 0. */ private Integer purchaseExponent; /** * Date and time of ther purchase, expressed in UTC. The field is limited to 14 characters, * formatted as YYYYMMDDHHMMSS. * * This field is required for 01-PA and for 02-NPA, if 3DS Requestor Authentication Indicator = 02 or 03. */ @JsonFormat (pattern = "yyyyMMddHHmmss" ) private LocalDateTime purchaseDate; /** * Date after which no further authorizations shall be performed. This field is limited to 8 characters, and the * accepted format is YYYYMMDD. * * This field is required for 01-PA and for 02-NPA, if 3DS Requestor Authentication Indicator = 02 or 03. */ @JsonFormat (pattern = "yyyyMMdd" ) private LocalDate recurringExpiry; /** * Indicates the minimum number of days between authorizations. The field is limited to maximum 4 characters. * * This field is required if 3DS Requestor Authentication Indicator = 02 or 03. */ private Integer recurringFrequency; /** * Identifies the type of transaction being authenticated. The values are derived from ISO 8583. Accepted values are: * 01 -> Goods / Service purchase * 03 -> Check Acceptance * 10 -> Account Funding * 11 -> Quasi-Cash Transaction * 28 -> Prepaid activation and Loan * * This field is required in some markets. Otherwise, the field is optional. */ private TransactionTypeEnum transType; } |