cybersource_rest_client 0.0.30 → 0.0.34

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. checksums.yaml +4 -4
  2. data/lib/AuthenticationSDK/authentication/oauth/OAuthToken.rb +15 -0
  3. data/lib/AuthenticationSDK/core/Authorization.rb +4 -1
  4. data/lib/AuthenticationSDK/core/MerchantConfig.rb +93 -19
  5. data/lib/AuthenticationSDK/util/Constants.rb +77 -75
  6. data/lib/cybersource_rest_client/api/o_auth_api.rb +104 -0
  7. data/lib/cybersource_rest_client/api/payments_api.rb +2 -2
  8. data/lib/cybersource_rest_client/api/refund_api.rb +4 -4
  9. data/lib/cybersource_rest_client/api/void_api.rb +4 -4
  10. data/lib/cybersource_rest_client/api_client.rb +31 -8
  11. data/lib/cybersource_rest_client/configuration.rb +2 -2
  12. data/lib/cybersource_rest_client/models/access_token_response.rb +244 -0
  13. data/lib/cybersource_rest_client/models/add_negative_list_request.rb +1 -1
  14. data/lib/cybersource_rest_client/models/bad_request_error.rb +192 -0
  15. data/lib/cybersource_rest_client/models/create_access_token_request.rb +254 -0
  16. data/lib/cybersource_rest_client/models/fraud_marking_action_request.rb +1 -1
  17. data/lib/cybersource_rest_client/models/inline_response_400_2.rb +1 -1
  18. data/lib/cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response.rb +1 -1
  19. data/lib/cybersource_rest_client/models/invoicing_v2_invoices_all_get200_response.rb +1 -1
  20. data/lib/cybersource_rest_client/models/invoicing_v2_invoices_all_get200_response_customer_information.rb +20 -4
  21. data/lib/cybersource_rest_client/models/invoicing_v2_invoices_all_get200_response_invoices.rb +1 -1
  22. data/lib/cybersource_rest_client/models/invoicing_v2_invoices_all_get400_response.rb +1 -1
  23. data/lib/cybersource_rest_client/models/invoicing_v2_invoices_all_get404_response.rb +1 -1
  24. data/lib/cybersource_rest_client/models/invoicing_v2_invoices_all_get502_response.rb +1 -1
  25. data/lib/cybersource_rest_client/models/invoicing_v2_invoices_get200_response.rb +2 -2
  26. data/lib/cybersource_rest_client/models/invoicing_v2_invoices_post201_response.rb +2 -2
  27. data/lib/cybersource_rest_client/models/invoicing_v2_invoices_post202_response.rb +1 -1
  28. data/lib/cybersource_rest_client/models/invoicingv2invoices_customer_information.rb +20 -4
  29. data/lib/cybersource_rest_client/models/kms_v2_keys_asym_deletes_post200_response.rb +1 -1
  30. data/lib/cybersource_rest_client/models/kms_v2_keys_asym_get200_response.rb +1 -1
  31. data/lib/cybersource_rest_client/models/kms_v2_keys_asym_post201_response.rb +1 -1
  32. data/lib/cybersource_rest_client/models/kms_v2_keys_sym_deletes_post200_response.rb +1 -1
  33. data/lib/cybersource_rest_client/models/kms_v2_keys_sym_get200_response.rb +1 -1
  34. data/lib/cybersource_rest_client/models/kms_v2_keys_sym_post201_response.rb +1 -1
  35. data/lib/cybersource_rest_client/models/pts_v1_transaction_batches_get200_response.rb +1 -1
  36. data/lib/cybersource_rest_client/models/pts_v1_transaction_batches_get400_response.rb +1 -1
  37. data/lib/cybersource_rest_client/models/pts_v1_transaction_batches_get500_response.rb +1 -1
  38. data/lib/cybersource_rest_client/models/pts_v2_credits_post201_response.rb +3 -3
  39. data/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch201_response.rb +3 -3
  40. data/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch201_response_error_information.rb +1 -1
  41. data/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch201_response_processor_information.rb +6 -0
  42. data/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch400_response.rb +1 -1
  43. data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response.rb +3 -3
  44. data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post400_response.rb +1 -1
  45. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response.rb +13 -4
  46. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_consumer_authentication_information.rb +11 -1
  47. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_error_information.rb +1 -1
  48. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_order_information.rb +13 -4
  49. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_order_information_reward_points_details.rb +270 -0
  50. data/lib/cybersource_rest_client/models/{pts_v2_payments_post201_response_payment_information_card.rb → pts_v2_payments_post201_response_payment_account_information.rb} +8 -9
  51. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_account_information_card.rb +242 -0
  52. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information.rb +1 -1
  53. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information_tokenized_card.rb +1 -1
  54. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processing_information.rb +1 -1
  55. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information.rb +9 -13
  56. data/lib/cybersource_rest_client/models/pts_v2_payments_post400_response.rb +2 -2
  57. data/lib/cybersource_rest_client/models/pts_v2_payments_post502_response.rb +1 -1
  58. data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response.rb +3 -3
  59. data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post400_response.rb +1 -1
  60. data/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response.rb +3 -3
  61. data/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post400_response.rb +1 -1
  62. data/lib/cybersource_rest_client/models/pts_v2_payments_voids_post201_response.rb +2 -2
  63. data/lib/cybersource_rest_client/models/pts_v2_payments_voids_post400_response.rb +1 -1
  64. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response.rb +1 -1
  65. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_error_information.rb +1 -1
  66. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_merchant_information_merchant_descriptor.rb +6 -0
  67. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_order_information_amount_details.rb +2 -2
  68. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_recipient_information_card.rb +1 -1
  69. data/lib/cybersource_rest_client/models/pts_v2_payouts_post400_response.rb +1 -1
  70. data/lib/cybersource_rest_client/models/ptsv2credits_processing_information.rb +2 -2
  71. data/lib/cybersource_rest_client/models/ptsv2payments_client_reference_information.rb +1 -1
  72. data/lib/cybersource_rest_client/models/ptsv2payments_consumer_authentication_information.rb +27 -1
  73. data/lib/cybersource_rest_client/models/ptsv2payments_merchant_information_merchant_descriptor.rb +6 -0
  74. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details.rb +2 -2
  75. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_card.rb +4 -4
  76. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_fluid_data.rb +3 -3
  77. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_tokenized_card.rb +1 -1
  78. data/lib/cybersource_rest_client/models/ptsv2payments_point_of_sale_information.rb +38 -38
  79. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information.rb +16 -6
  80. data/lib/cybersource_rest_client/models/ptsv2payments_risk_information.rb +15 -4
  81. data/lib/cybersource_rest_client/models/ptsv2payments_risk_information_auxiliary_data.rb +207 -0
  82. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_payment_information_card.rb +1 -1
  83. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_processing_information.rb +15 -5
  84. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_payment_information_card.rb +4 -4
  85. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_processing_information.rb +1 -1
  86. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_client_reference_information.rb +17 -1
  87. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_processing_information.rb +1 -1
  88. data/lib/cybersource_rest_client/models/ptsv2payouts_merchant_information_merchant_descriptor.rb +6 -0
  89. data/lib/cybersource_rest_client/models/ptsv2payouts_payment_information_card.rb +4 -4
  90. data/lib/cybersource_rest_client/models/resource_not_found_error.rb +192 -0
  91. data/lib/cybersource_rest_client/models/risk_v1_address_verifications_post201_response.rb +3 -3
  92. data/lib/cybersource_rest_client/models/risk_v1_authentication_results_post201_response.rb +3 -3
  93. data/lib/cybersource_rest_client/models/risk_v1_authentication_setups_post201_response.rb +2 -2
  94. data/lib/cybersource_rest_client/models/risk_v1_authentications_post201_response.rb +3 -3
  95. data/lib/cybersource_rest_client/models/risk_v1_authentications_post400_response.rb +1 -1
  96. data/lib/cybersource_rest_client/models/risk_v1_authentications_post400_response_1.rb +1 -1
  97. data/lib/cybersource_rest_client/models/risk_v1_decisions_post201_response.rb +3 -3
  98. data/lib/cybersource_rest_client/models/risk_v1_decisions_post400_response.rb +1 -1
  99. data/lib/cybersource_rest_client/models/risk_v1_decisions_post400_response_1.rb +1 -1
  100. data/lib/cybersource_rest_client/models/risk_v1_export_compliance_inquiries_post201_response.rb +3 -3
  101. data/lib/cybersource_rest_client/models/risk_v1_update_post201_response.rb +2 -2
  102. data/lib/cybersource_rest_client/models/riskv1authenticationresults_consumer_authentication_information.rb +1 -1
  103. data/lib/cybersource_rest_client/models/riskv1authenticationresults_payment_information_card.rb +3 -3
  104. data/lib/cybersource_rest_client/models/riskv1authenticationresults_payment_information_tokenized_card.rb +1 -1
  105. data/lib/cybersource_rest_client/models/riskv1authentications_payment_information_card.rb +3 -3
  106. data/lib/cybersource_rest_client/models/riskv1authentications_payment_information_tokenized_card.rb +1 -1
  107. data/lib/cybersource_rest_client/models/riskv1authenticationsetups_payment_information_card.rb +3 -3
  108. data/lib/cybersource_rest_client/models/riskv1authenticationsetups_payment_information_fluid_data.rb +3 -3
  109. data/lib/cybersource_rest_client/models/riskv1authenticationsetups_payment_information_tokenized_card.rb +1 -1
  110. data/lib/cybersource_rest_client/models/riskv1authenticationsetups_processing_information.rb +1 -1
  111. data/lib/cybersource_rest_client/models/riskv1decisions_client_reference_information.rb +17 -1
  112. data/lib/cybersource_rest_client/models/riskv1decisions_device_information.rb +1 -11
  113. data/lib/cybersource_rest_client/models/riskv1decisions_payment_information_card.rb +3 -3
  114. data/lib/cybersource_rest_client/models/riskv1decisions_payment_information_tokenized_card.rb +1 -1
  115. data/lib/cybersource_rest_client/models/riskv1decisions_risk_information.rb +15 -4
  116. data/lib/cybersource_rest_client/models/riskv1liststypeentries_client_reference_information.rb +224 -0
  117. data/lib/cybersource_rest_client/models/riskv1liststypeentries_payment_information_card.rb +1 -1
  118. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response.rb +3 -3
  119. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_consumer_authentication_information.rb +13 -4
  120. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_consumer_authentication_information_strong_authentication.rb +254 -0
  121. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_order_information_amount_details.rb +2 -2
  122. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_card.rb +5 -5
  123. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information.rb +2 -2
  124. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information_authorization_options.rb +13 -4
  125. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processor_information.rb +8 -12
  126. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_risk_information.rb +1 -1
  127. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response.rb +1 -1
  128. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_merchant_information.rb +1 -1
  129. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_order_information_bill_to.rb +17 -1
  130. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_payment_information_card.rb +3 -3
  131. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_processing_information.rb +2 -2
  132. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_processor_information.rb +6 -0
  133. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_transaction_summaries.rb +2 -2
  134. data/lib/cybersource_rest_client/models/tss_v2_transactions_post400_response.rb +1 -1
  135. data/lib/cybersource_rest_client/models/unauthorized_client_error.rb +192 -0
  136. data/lib/cybersource_rest_client/models/validate_export_compliance_request.rb +1 -1
  137. data/lib/cybersource_rest_client/models/vas_v2_payments_post201_response.rb +2 -2
  138. data/lib/cybersource_rest_client/models/vas_v2_payments_post400_response.rb +1 -1
  139. data/lib/cybersource_rest_client/models/vas_v2_tax_void200_response.rb +2 -2
  140. data/lib/cybersource_rest_client/models/vas_v2_tax_voids_post400_response.rb +1 -1
  141. data/lib/cybersource_rest_client/models/verify_customer_address_request.rb +1 -1
  142. data/lib/cybersource_rest_client.rb +12 -1
  143. metadata +113 -93
  144. data/lib/AuthenticationSDK/resource/TRRReports.json +0 -12
  145. data/lib/AuthenticationSDK/resource/cybs.yml +0 -31
  146. data/lib/AuthenticationSDK/resource/request.json +0 -54
  147. data/lib/AuthenticationSDK/resource/request_capture.json +0 -11
  148. data/lib/AuthenticationSDK/resource/testrest.p12 +0 -0
  149. data/lib/AuthenticationSDK/spec/Authorization_spec.rb +0 -274
  150. data/lib/AuthenticationSDK/spec/MerchantConfigData.rb +0 -59
  151. data/lib/AuthenticationSDK/spec/MerchantConfig_spec.rb +0 -116
  152. data/lib/AuthenticationSDK/spec/PostRequestData.json +0 -54
  153. data/lib/AuthenticationSDK/spec/PutRequestData.json +0 -12
  154. data/lib/AuthenticationSDK/spec/ResponseCodeMessage_spec.rb +0 -60
  155. data/lib/AuthenticationSDK/spec/spec_helper.rb +0 -12
@@ -17,19 +17,19 @@ module CyberSource
17
17
  # The customer’s payment card number, also known as the Primary Account Number (PAN). You can also use this field for encoded account numbers. #### FDMS Nashville Required. String (19) #### GPX Required if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured for relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### All other processors Required if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured for relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.
18
18
  attr_accessor :number
19
19
 
20
- # Two-digit month in which the payment card expires. Format: `MM`. Valid values: `01` through `12`. Leading 0 is required. #### Barclays and Streamline For Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request. #### Encoded Account Numbers For encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`. #### FDMS Nashville Required field. #### GPX Required if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured for relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### All other processors Required if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured for relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.
20
+ # Two-digit month in which the payment card expires. Format: `MM`. Valid values: `01` through `12`. Leading 0 is required. #### Barclays and Streamline For Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request. #### Encoded Account Numbers For encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`. #### FDMS Nashville Required field. #### All other processors Required if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured for relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### Google Pay transactions For PAN-based Google Pay transactions, this field is returned in the API response.
21
21
  attr_accessor :expiration_month
22
22
 
23
- # Four-digit year in which the payment card expires. Format: `YYYY`. #### Barclays and Streamline For Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request. #### Encoded Account Numbers For encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`. #### FDMS Nashville Required field. #### FDC Nashville Global and FDMS South You can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year. #### GPX Required if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured for relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### All other processors Required if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured for relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.
23
+ # Four-digit year in which the payment card expires. Format: `YYYY`. #### Barclays and Streamline For Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request. #### Encoded Account Numbers For encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`. #### FDMS Nashville Required field. #### FDC Nashville Global and FDMS South You can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year. #### All other processors Required if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured for relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. #### Google Pay transactions For PAN-based Google Pay transactions, this field is returned in the API response.
24
24
  attr_accessor :expiration_year
25
25
 
26
- # Three-digit value that indicates the card type. **IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is optional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type. Possible values: - `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron. - `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard. - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche[^1] - `007`: JCB[^1] - `014`: Enroute[^1] - `021`: JAL[^1] - `024`: Maestro (UK Domestic)[^1] - `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types. - `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types. - `034`: Dankort[^1] - `036`: Cartes Bancaires[^1,4] - `037`: Carta Si[^1] - `039`: Encoded account number[^1] - `040`: UATP[^1] - `042`: Maestro (International)[^1] - `050`: Hipercard[^2,3] - `051`: Aura - `054`: Elo[^3] - `062`: China UnionPay [^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit. [^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5. [^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. [^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services. #### Used by **Authorization** Required for Carte Blanche and JCB. Optional for all other card types. #### Card Present reply This field is included in the reply message when the client software that is installed on the POS terminal uses the token management service (TMS) to retrieve tokenized payment details. You must contact customer support to have your account enabled to receive these fields in the credit reply message. Returned by the Credit service. This reply field is only supported by the following processors: - American Express Direct - Credit Mutuel-CIC - FDC Nashville Global - OmniPay Direct - SIX #### GPX This field only supports transactions from the following card types: - Visa - Mastercard - AMEX - Discover - Diners - JCB - Union Pay International
26
+ # Three-digit value that indicates the card type. **IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is optional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type. Possible values: - `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron. - `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard. - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche[^1] - `007`: JCB[^1] - `014`: Enroute[^1] - `021`: JAL[^1] - `024`: Maestro (UK Domestic)[^1] - `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types. - `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types. - `034`: Dankort[^1] - `036`: Cartes Bancaires[^1,4] - `037`: Carta Si[^1] - `039`: Encoded account number[^1] - `040`: UATP[^1] - `042`: Maestro (International)[^1] - `050`: Hipercard[^2,3] - `051`: Aura - `054`: Elo[^3] - `062`: China UnionPay [^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit. [^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5. [^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. [^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services. #### Used by **Authorization** Required for Carte Blanche and JCB. Optional for all other card types. #### Card Present reply This field is included in the reply message when the client software that is installed on the POS terminal uses the token management service (TMS) to retrieve tokenized payment details. You must contact customer support to have your account enabled to receive these fields in the credit reply message. Returned by the Credit service. This reply field is only supported by the following processors: - American Express Direct - Credit Mutuel-CIC - FDC Nashville Global - OmniPay Direct - SIX #### Google Pay transactions For PAN-based Google Pay transactions, this field is returned in the API response. #### GPX This field only supports transactions from the following card types: - Visa - Mastercard - AMEX - Discover - Diners - JCB - Union Pay International
27
27
  attr_accessor :type
28
28
 
29
29
  # Flag that specifies the type of account associated with the card. The cardholder provides this information during the payment process. #### Cielo and Comercio Latino Possible values: - CREDIT: Credit card - DEBIT: Debit card This field is required for: - Debit transactions on Cielo and Comercio Latino. - Transactions with Brazilian-issued cards on CyberSource through VisaNet. **Note** The value for this field corresponds to the following data in the TC 33 capture file5: - Record: CP07 TCR0 - Position: 51 - Field: Combination Card Transaction Identifier This field is supported only for Mastercard transactions in Brazil on CyberSource through VisaNet.
30
30
  attr_accessor :use_as
31
31
 
32
- # Flag that specifies the type of account associated with the card. The cardholder provides this information during the payment process. This field is required in the following cases: - Debit transactions on Cielo and Comercio Latino. - Transactions with Brazilian-issued cards on CyberSource through VisaNet. - Applicable only for CyberSource through VisaNet (CtV). **Note** Combo cards in Brazil contain credit and debit functionality in a single card. Visa systems use a credit bank identification number (BIN) for this type of card. Using the BIN to determine whether a card is debit or credit can cause transactions with these cards to be processed incorrectly. CyberSource strongly recommends that you include this field for combo card transactions. Possible values include the following. - `CHECKING`: Checking account - `CREDIT`: Credit card account - `SAVING`: Saving account - `LINE_OF_CREDIT`: Line of credit or credit portion of combo card - `PREPAID`: Prepaid card account or prepaid portion of combo card - `UNIVERSAL`: Universal account
32
+ # Flag that specifies the type of account associated with the card. The cardholder provides this information during the payment process. This field is required in the following cases: - Debit transactions on Cielo and Comercio Latino. - Transactions with Brazilian-issued cards on CyberSource through VisaNet. - Applicable only for CyberSource through VisaNet (CtV). **Note** Combo cards in Brazil contain credit and debit functionality in a single card. Visa systems use a credit bank identification number (BIN) for this type of card. Using the BIN to determine whether a card is debit or credit can cause transactions with these cards to be processed incorrectly. CyberSource strongly recommends that you include this field for combo card transactions. Possible values include the following. - `CHECKING`: Checking account - `CREDIT`: Credit card account - `SAVING`: Saving account - `LINE_OF_CREDIT`: Line of credit or credit portion of combo card - `PREPAID`: Prepaid card account or prepaid portion of combo card - `UNIVERSAL`: Universal account
33
33
  attr_accessor :source_account_type
34
34
 
35
35
  # Type of account that is being used when the value for the override_payment_method field is line of credit (LI) or prepaid card (PP). Possible values for line of credit: - `AGRC`: Visa Agro Custeio - `AGRE`: Visa Agro Electron - `AGRI`: Visa Agro Investimento - `AGRO`: Visa Agro Possible values for prepaid card: - `VVA`: Visa Vale Alimentacao - `VVF`: Visa Vale Flex - `VVR`: Visa Vale Refeicao This field is supported only for combo card transactions in Brazil on CyberSource through VisaNet.
@@ -17,13 +17,13 @@ module CyberSource
17
17
  # The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)
18
18
  attr_accessor :key_serial_number
19
19
 
20
- # The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values: - Samsung Pay: `RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=` **Note**: For other payment solutions, the value may be specific to the customer's mobile device. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor. #### Used by **Authorization and Standalone Credits** Required for authorizations and standalone credits that use Bluefin PCI P2PE. #### Card Present processing Format of the encrypted payment data. The value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`.
20
+ # The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values: Samsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ= Note: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor. Used by Authorization and Standalone Credits. Required for authorizations and standalone credits. Card Present processing: Format of the encrypted payment data. The value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`. The value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field. If paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==` If paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`
21
21
  attr_accessor :descriptor
22
22
 
23
- # Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution a merchant uses. #### Used by **Authorization and Standalone Credits** Required for authorizations and standalone credits that use Bluefin PCI P2PE. #### Card Present processing This field represents the encrypted Bluefin PCI P2PE payment data. Obtain the encrypted payment data from a Bluefin-supported device.
23
+ # Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant. Used by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method. Card Present processing This field represents the encrypted payment data generated by the payment terminal/device.
24
24
  attr_accessor :value
25
25
 
26
- # Encoding method used to encrypt the payment data. Valid value: Base64
26
+ # Encoding method used to encrypt the payment data. Valid values: `Base64`, `HEX` If no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding
27
27
  attr_accessor :encoding
28
28
 
29
29
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -23,7 +23,7 @@ module CyberSource
23
23
  # One of two possible meanings: - The four-digit year in which a token expires. - The four-digit year in which a card expires. Format: `YYYY` Possible values: `1900` through `3000` Data type: Non-negative integer **NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below. #### Barclays and Streamline For Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through 3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request. #### Encoded Account Numbers For encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`. #### FDC Nashville Global and FDMS South You can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of the year. #### Samsung Pay and Apple Pay Year in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction. **Important** It is your responsibility to determine whether a field is required for the transaction you are requesting. For processor-specific information, see the `customer_cc_expyr` or `token_expiration_year` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)
24
24
  attr_accessor :expiration_year
25
25
 
26
- # Three-digit value that indicates the card type. **IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is optional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type. Possible values: - `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron. - `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard. - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche[^1] - `007`: JCB[^1] - `014`: Enroute[^1] - `021`: JAL[^1] - `024`: Maestro (UK Domestic)[^1] - `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types. - `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types. - `034`: Dankort[^1] - `036`: Cartes Bancaires[^1,4] - `037`: Carta Si[^1] - `039`: Encoded account number[^1] - `040`: UATP[^1] - `042`: Maestro (International)[^1] - `050`: Hipercard[^2,3] - `051`: Aura - `054`: Elo[^3] - `062`: China UnionPay [^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit. [^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5. [^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. [^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services. #### Used by **Authorization** Required for Carte Blanche and JCB. Optional for all other card types. #### Card Present reply This field is included in the reply message when the client software that is installed on the POS terminal uses the token management service (TMS) to retrieve tokenized payment details. You must contact customer support to have your account enabled to receive these fields in the credit reply message. Returned by the Credit service. This reply field is only supported by the following processors: - American Express Direct - Credit Mutuel-CIC - FDC Nashville Global - OmniPay Direct - SIX #### GPX This field only supports transactions from the following card types: - Visa - Mastercard - AMEX - Discover - Diners - JCB - Union Pay International
26
+ # Three-digit value that indicates the card type. **IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is optional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type. Possible values: - `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron. - `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard. - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche[^1] - `007`: JCB[^1] - `014`: Enroute[^1] - `021`: JAL[^1] - `024`: Maestro (UK Domestic)[^1] - `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types. - `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types. - `034`: Dankort[^1] - `036`: Cartes Bancaires[^1,4] - `037`: Carta Si[^1] - `039`: Encoded account number[^1] - `040`: UATP[^1] - `042`: Maestro (International)[^1] - `050`: Hipercard[^2,3] - `051`: Aura - `054`: Elo[^3] - `062`: China UnionPay [^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit. [^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5. [^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. [^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services. #### Used by **Authorization** Required for Carte Blanche and JCB. Optional for all other card types. #### Card Present reply This field is included in the reply message when the client software that is installed on the POS terminal uses the token management service (TMS) to retrieve tokenized payment details. You must contact customer support to have your account enabled to receive these fields in the credit reply message. Returned by the Credit service. This reply field is only supported by the following processors: - American Express Direct - Credit Mutuel-CIC - FDC Nashville Global - OmniPay Direct - SIX #### Google Pay transactions For PAN-based Google Pay transactions, this field is returned in the API response. #### GPX This field only supports transactions from the following card types: - Visa - Mastercard - AMEX - Discover - Diners - JCB - Union Pay International
27
27
  attr_accessor :type
28
28
 
29
29
  # This field is used internally.
@@ -32,9 +32,6 @@ module CyberSource
32
32
  # POS terminal’s capability. Possible values: - `1`: Terminal has a magnetic stripe reader only. - `2`: Terminal has a magnetic stripe reader and manual entry capability. - `3`: Terminal has manual entry capability only. - `4`: Terminal can read chip cards. - `5`: Terminal can read contactless chip cards; cannot use contact to read chip cards. For an EMV transaction, the value of this field must be `4` or `5`. #### PIN debit Required for PIN debit purchase and PIN debit credit request. #### Used by **Authorization** Required for the following processors: - American Express Direct - Chase Paymentech Solutions - Credit Mutuel-CIC - FDC Nashville Global - FDMS Nashville - OmniPay Direct - SIX - Worldpay VAP Optional for the following processors: - CyberSource through VisaNet - GPN - GPX - JCN Gateway - RBS WorldPay Atlanta - TSYS Acquiring Solutions
33
33
  attr_accessor :terminal_capability
34
34
 
35
- # A one-digit code that identifies the capability of terminal to capture PINs. This code does not necessarily mean that a PIN was entered or is included in this message. POS terminal’s capability. Possible values: - `1`: Terminal has a magnetic stripe reader only. - `2`: Terminal has a magnetic stripe reader and manual entry capability. - `3`: Terminal has manual entry capability only. - `4`: Terminal can read chip cards.* - `5`: Terminal can read contactless chip cards.* * The values of 4 and 5 are supported only for EMV transactions. For Payouts: This field is applicable for CtV.
36
- attr_accessor :pin_entry_capability
37
-
38
35
  # Operating environment. Possible values for all card types except Mastercard: - `0`: No terminal used or unknown environment. - `1`: On merchant premises, attended. - `2`: On merchant premises, unattended. Examples: oil, kiosks, self-checkout, mobile telephone, personal digital assistant (PDA). - `3`: Off merchant premises, attended. Examples: portable POS devices at trade shows, at service calls, or in taxis. - `4`: Off merchant premises, unattended. Examples: vending machines, home computer, mobile telephone, PDA. - `5`: On premises of cardholder, unattended. - `9`: Unknown delivery mode. - `S`: Electronic delivery of product. Examples: music, software, or eTickets that are downloaded over the internet. - `T`: Physical delivery of product. Examples: music or software that is delivered by mail or by a courier. #### Possible values for Mastercard: - `2`: On merchant premises, unattended, or cardholder terminal. Examples: oil, kiosks, self-checkout, home computer, mobile telephone, personal digital assistant (PDA). Cardholder terminal is supported only for Mastercard transactions on CyberSource through VisaNet. - `4`: Off merchant premises, unattended, or cardholder terminal. Examples: vending machines, home computer, mobile telephone, PDA. Cardholder terminal is supported only for Mastercard transactions on CyberSource through VisaNet. This field is supported only for American Express Direct and CyberSource through VisaNet.
39
36
  attr_accessor :operating_environment
40
37
 
@@ -49,8 +46,10 @@ module CyberSource
49
46
  # When connectivity is unavailable, the client software that is installed on the POS terminal can store a transaction in its memory and send it for authorization when connectivity is restored. This value is provided by the client software that is installed on the POS terminal. This value is not forwarded to the processor. Instead, the value is forwarded to the reporting functionality. Possible values: - `Y`: Transaction was stored and then forwarded. - `N` (default): Transaction was not stored and then forwarded. For authorizations and credits, this field is supported only on these processors: - American Express Direct - FDC Nashville Global - OmniPay Direct - SIX Optional field.
50
47
  attr_accessor :store_and_forward_indicator
51
48
 
49
+ # Complete list of cardholder verification methods (CVMs) supported by the terminal. Optional field. Possible values: - `PIN` - `Signature` **EXAMPLE**: [\"PIN\",\"Signature\"] **NOTE**: You can submit one of the values or both of the above in a request. For authorizations and credits, this field is only supported on these processors: - American Express Direct - Credit Mutuel-CIC - FDC Nashville Global - OmniPay Direct - SIX
52
50
  attr_accessor :cardholder_verification_method
53
51
 
52
+ # Complete list of card input methods supported by the terminal. Possible values: - `Keyed`: Terminal can accept card data that is entered manually. - `Swiped`: Terminal can accept card data from a magnetic stripe reader. - `Contact`: Terminal can accept card data in EMV contact mode (\"dipping a card\"). - `Contactless`: Terminal can accept card data in EMV contactless mode (\"tapping a card\"). - `BarCode`: Terminal can read bar codes. - `QRcode`: Terminal can read or scan QR codes. - `OCR`: Terminal can perform optical character recognition (OCT) on the card. **EXAMPLE**: [\"Keyed\",\"Swiped\",\"Contact\",\"Contactless\"] #### Used by **Authorization and Credit** Optional. This field is supported only by client software that is installed on your POS terminals for the following processors: - American Express Direct - Credit Mutuel-CIC - FDC Nashville Global - OmniPay Direct - SIX
54
53
  attr_accessor :terminal_input_capability
55
54
 
56
55
  # Indicates whether the terminal can capture the card. Possible values: - `1`: Terminal can capture card. - `0`: Terminal cannot capture card. For authorizations and credits, this field is supported only by these processors: - American Express Direct - Credit Mutuel-CIC - OmniPay Direct Optional field.
@@ -86,6 +85,12 @@ module CyberSource
86
85
  # Type of mPOS device. Possible values: - 0: Dongle - 1: Phone or tablet This optional field is supported only for Mastercard transactions on CyberSource through VisaNet. The value for this field corresponds to the following data in the TC 33 capture file: - Record: CP01 TCR6 - Position: 141 - Field: Mastercard mPOS Transaction The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant’s acquirer, who uses this information to facilitate end-of-day clearing processing with payment networks.
87
86
  attr_accessor :is_dedicated_hardware_terminal
88
87
 
88
+ # This is the model name of the reader which is used to accept the payment. Possible values: - E3555 - P400 - A920
89
+ attr_accessor :terminal_model
90
+
91
+ # This is the manufacturer name of the reader which is used to accept the payment. Possible values: - PAX - Verifone - Ingenico
92
+ attr_accessor :terminal_make
93
+
89
94
  # Attribute mapping from ruby-style variable name to JSON key.
90
95
  def self.attribute_map
91
96
  {
@@ -95,7 +100,6 @@ module CyberSource
95
100
  :'cat_level' => :'catLevel',
96
101
  :'entry_mode' => :'entryMode',
97
102
  :'terminal_capability' => :'terminalCapability',
98
- :'pin_entry_capability' => :'pinEntryCapability',
99
103
  :'operating_environment' => :'operatingEnvironment',
100
104
  :'emv' => :'emv',
101
105
  :'amex_capn_data' => :'amexCapnData',
@@ -113,7 +117,9 @@ module CyberSource
113
117
  :'partner_sdk_version' => :'partnerSdkVersion',
114
118
  :'emv_application_identifier_and_dedicated_file_name' => :'emvApplicationIdentifierAndDedicatedFileName',
115
119
  :'terminal_compliance' => :'terminalCompliance',
116
- :'is_dedicated_hardware_terminal' => :'isDedicatedHardwareTerminal'
120
+ :'is_dedicated_hardware_terminal' => :'isDedicatedHardwareTerminal',
121
+ :'terminal_model' => :'terminalModel',
122
+ :'terminal_make' => :'terminalMake'
117
123
  }
118
124
  end
119
125
 
@@ -126,7 +132,6 @@ module CyberSource
126
132
  :'cat_level' => :'Integer',
127
133
  :'entry_mode' => :'String',
128
134
  :'terminal_capability' => :'Integer',
129
- :'pin_entry_capability' => :'Integer',
130
135
  :'operating_environment' => :'String',
131
136
  :'emv' => :'Ptsv2paymentsPointOfSaleInformationEmv',
132
137
  :'amex_capn_data' => :'String',
@@ -144,7 +149,9 @@ module CyberSource
144
149
  :'partner_sdk_version' => :'String',
145
150
  :'emv_application_identifier_and_dedicated_file_name' => :'String',
146
151
  :'terminal_compliance' => :'String',
147
- :'is_dedicated_hardware_terminal' => :'String'
152
+ :'is_dedicated_hardware_terminal' => :'String',
153
+ :'terminal_model' => :'String',
154
+ :'terminal_make' => :'String'
148
155
  }
149
156
  end
150
157
 
@@ -180,10 +187,6 @@ module CyberSource
180
187
  self.terminal_capability = attributes[:'terminalCapability']
181
188
  end
182
189
 
183
- if attributes.has_key?(:'pinEntryCapability')
184
- self.pin_entry_capability = attributes[:'pinEntryCapability']
185
- end
186
-
187
190
  if attributes.has_key?(:'operatingEnvironment')
188
191
  self.operating_environment = attributes[:'operatingEnvironment']
189
192
  end
@@ -259,6 +262,14 @@ module CyberSource
259
262
  if attributes.has_key?(:'isDedicatedHardwareTerminal')
260
263
  self.is_dedicated_hardware_terminal = attributes[:'isDedicatedHardwareTerminal']
261
264
  end
265
+
266
+ if attributes.has_key?(:'terminalModel')
267
+ self.terminal_model = attributes[:'terminalModel']
268
+ end
269
+
270
+ if attributes.has_key?(:'terminalMake')
271
+ self.terminal_make = attributes[:'terminalMake']
272
+ end
262
273
  end
263
274
 
264
275
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -281,14 +292,6 @@ module CyberSource
281
292
  invalid_properties.push('invalid value for "terminal_capability", must be greater than or equal to 1.')
282
293
  end
283
294
 
284
- if !@pin_entry_capability.nil? && @pin_entry_capability > 1
285
- invalid_properties.push('invalid value for "pin_entry_capability", must be smaller than or equal to 1.')
286
- end
287
-
288
- if !@pin_entry_capability.nil? && @pin_entry_capability < 1
289
- invalid_properties.push('invalid value for "pin_entry_capability", must be greater than or equal to 1.')
290
- end
291
-
292
295
  if !@pin_block_encoding_format.nil? && @pin_block_encoding_format > 9
293
296
  invalid_properties.push('invalid value for "pin_block_encoding_format", must be smaller than or equal to 9.')
294
297
  end
@@ -303,8 +306,6 @@ module CyberSource
303
306
  return false if !@cat_level.nil? && @cat_level < 1
304
307
  return false if !@terminal_capability.nil? && @terminal_capability > 5
305
308
  return false if !@terminal_capability.nil? && @terminal_capability < 1
306
- return false if !@pin_entry_capability.nil? && @pin_entry_capability > 1
307
- return false if !@pin_entry_capability.nil? && @pin_entry_capability < 1
308
309
  return false if !@pin_block_encoding_format.nil? && @pin_block_encoding_format > 9
309
310
  true
310
311
  end
@@ -361,20 +362,6 @@ module CyberSource
361
362
  @terminal_capability = terminal_capability
362
363
  end
363
364
 
364
- # Custom attribute writer method with validation
365
- # @param [Object] pin_entry_capability Value to be assigned
366
- def pin_entry_capability=(pin_entry_capability)
367
- if !pin_entry_capability.nil? && pin_entry_capability > 1
368
- fail ArgumentError, 'invalid value for "pin_entry_capability", must be smaller than or equal to 1.'
369
- end
370
-
371
- if !pin_entry_capability.nil? && pin_entry_capability < 1
372
- fail ArgumentError, 'invalid value for "pin_entry_capability", must be greater than or equal to 1.'
373
- end
374
-
375
- @pin_entry_capability = pin_entry_capability
376
- end
377
-
378
365
  # Custom attribute writer method with validation
379
366
  # @param [Object] operating_environment Value to be assigned
380
367
  def operating_environment=(operating_environment)
@@ -457,6 +444,18 @@ module CyberSource
457
444
  @is_dedicated_hardware_terminal = is_dedicated_hardware_terminal
458
445
  end
459
446
 
447
+ # Custom attribute writer method with validation
448
+ # @param [Object] terminal_model Value to be assigned
449
+ def terminal_model=(terminal_model)
450
+ @terminal_model = terminal_model
451
+ end
452
+
453
+ # Custom attribute writer method with validation
454
+ # @param [Object] terminal_make Value to be assigned
455
+ def terminal_make=(terminal_make)
456
+ @terminal_make = terminal_make
457
+ end
458
+
460
459
  # Checks equality by comparing each attribute.
461
460
  # @param [Object] Object to be compared
462
461
  def ==(o)
@@ -468,7 +467,6 @@ module CyberSource
468
467
  cat_level == o.cat_level &&
469
468
  entry_mode == o.entry_mode &&
470
469
  terminal_capability == o.terminal_capability &&
471
- pin_entry_capability == o.pin_entry_capability &&
472
470
  operating_environment == o.operating_environment &&
473
471
  emv == o.emv &&
474
472
  amex_capn_data == o.amex_capn_data &&
@@ -486,7 +484,9 @@ module CyberSource
486
484
  partner_sdk_version == o.partner_sdk_version &&
487
485
  emv_application_identifier_and_dedicated_file_name == o.emv_application_identifier_and_dedicated_file_name &&
488
486
  terminal_compliance == o.terminal_compliance &&
489
- is_dedicated_hardware_terminal == o.is_dedicated_hardware_terminal
487
+ is_dedicated_hardware_terminal == o.is_dedicated_hardware_terminal &&
488
+ terminal_model == o.terminal_model &&
489
+ terminal_make == o.terminal_make
490
490
  end
491
491
 
492
492
  # @see the `==` method
@@ -498,7 +498,7 @@ module CyberSource
498
498
  # Calculates hash code according to all attributes.
499
499
  # @return [Fixnum] Hash code
500
500
  def hash
501
- [terminal_id, terminal_serial_number, lane_number, cat_level, entry_mode, terminal_capability, pin_entry_capability, operating_environment, emv, amex_capn_data, track_data, store_and_forward_indicator, cardholder_verification_method, terminal_input_capability, terminal_card_capture_capability, terminal_output_capability, terminal_pin_capability, device_id, pin_block_encoding_format, encrypted_pin, encrypted_key_serial_number, partner_sdk_version, emv_application_identifier_and_dedicated_file_name, terminal_compliance, is_dedicated_hardware_terminal].hash
501
+ [terminal_id, terminal_serial_number, lane_number, cat_level, entry_mode, terminal_capability, operating_environment, emv, amex_capn_data, track_data, store_and_forward_indicator, cardholder_verification_method, terminal_input_capability, terminal_card_capture_capability, terminal_output_capability, terminal_pin_capability, device_id, pin_block_encoding_format, encrypted_pin, encrypted_key_serial_number, partner_sdk_version, emv_application_identifier_and_dedicated_file_name, terminal_compliance, is_dedicated_hardware_terminal, terminal_model, terminal_make].hash
502
502
  end
503
503
 
504
504
  # Builds the object from hash
@@ -29,10 +29,10 @@ module CyberSource
29
29
  # Payouts transaction type. Required for OCT transactions. This field is a pass-through, which means that CyberSource does not verify the value or modify it in any way before sending it to the processor. **Note** When the request includes this field, this value overrides the information in your CyberSource account. For valid values, see the `invoiceHeader_businessApplicationID` field description in [Payouts Using the Simple Order API.](http://apps.cybersource.com/library/documentation/dev_guides/payouts_SO/Payouts_SO_API.pdf)
30
30
  attr_accessor :business_application_id
31
31
 
32
- # Type of transaction. Some payment card companies use this information when determining discount rates. #### Used by **Authorization** Required payer authentication transactions; otherwise, optional. **Credit** Required for standalone credits on Chase Paymentech solutions; otherwise, optional. Only `internet`, `moto`, `install`, `recurring`, and `recurring_internet` are valid values. #### Ingenico ePayments When you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value (listed in Appendix I, \"Commerce Indicators,\" on page 441.) #### Payer Authentication Transactions For the possible values and requirements, see \"Payer Authentication,\" page 195. #### Other Types of Transactions See Appendix I, \"Commerce Indicators,\" on page 441. #### Card Present You must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be used when the cardholder and card are present at the time of the transaction. For all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator should be submitted as “moto\"
32
+ # Type of transaction. Some payment card companies use this information when determining discount rates. #### Used by **Authorization** Required payer authentication transactions; otherwise, optional. **Credit** Required for standalone credits on Chase Paymentech solutions; otherwise, optional. The list of valid values in this field depends on your processor. See Appendix I, \"Commerce Indicators,\" on page 441 of the Cybersource Credit Card Guide. #### Ingenico ePayments When you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value (listed in Appendix I, \"Commerce Indicators,\" on page 441.) #### Payer Authentication Transactions For the possible values and requirements, see \"Payer Authentication,\" page 195. #### Card Present You must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be used when the cardholder and card are present at the time of the transaction. For all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator should be submitted as “moto\"
33
33
  attr_accessor :commerce_indicator
34
34
 
35
- # Type of digital payment solution for the transaction. Possible Values: - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/) - `001`: Apple Pay. - `004`: Cybersource In-App Solution. - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/) - `006`: Android Pay. - `007`: Chase Pay. - `008`: Samsung Pay. - `012`: Google Pay. - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token. - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.
35
+ # Type of digital payment solution for the transaction. Possible Values: - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/) - `001`: Apple Pay. - `004`: Cybersource In-App Solution. - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/) - `006`: Android Pay. - `007`: Chase Pay. - `008`: Samsung Pay. - `012`: Google Pay. - `013`: Cybersource P2PE Decryption - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token. - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token. - `027`: Click to Pay.
36
36
  attr_accessor :payment_solution
37
37
 
38
38
  # Please check with Cybersource customer support to see if your merchant account is configured correctly so you can include this field in your request. * For Payouts: max length for FDCCompass is String (22).
@@ -84,6 +84,9 @@ module CyberSource
84
84
  # On PIN Debit Gateways: This U.S.-only field is optionally used by participants (merchants and acquirers) to specify the network access priority. VisaNet checks to determine if there are issuer routing preferences for any of the networks specified by the sharing group code. If an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on the issuer’s preference. If an issuer preference exists for more than one of the specified debit networks, or if no issuer preference exists, VisaNet makes a selection based on the acquirer’s routing priorities. #### PIN debit Priority order of the networks through which he transaction will be routed. Set this value to a series of one-character network codes in your preferred order. This is a list of the network codes: | Network | Code | | --- | --- | | Accel | E | | AFFN | U | | Alaska Option | 3 | | CU24 | C | | Interlink | G | | Maestro | 8 | | NETS | P | | NYCE | F | | Pulse | H | | Shazam | 7 | | Star | M | | Visa | V | For example, if the Star network is your first preference and Pulse is your second preference, set this field to a value of `MH`. When you do not include this value in your PIN debit request, the list of network codes from your account is used. **Note** This field is supported only for businesses located in the U.S. Optional field for PIN debit credit or PIN debit purchase.
85
85
  attr_accessor :network_routing_order
86
86
 
87
+ # Flag that indicates if the transaction is pay by points transaction true: Transaction uses loyalty points false: Transaction does not use loyalty points Default: false
88
+ attr_accessor :pay_by_points_indicator
89
+
87
90
  # Attribute mapping from ruby-style variable name to JSON key.
88
91
  def self.attribute_map
89
92
  {
@@ -112,7 +115,8 @@ module CyberSource
112
115
  :'japan_payment_options' => :'japanPaymentOptions',
113
116
  :'mobile_remote_payment_type' => :'mobileRemotePaymentType',
114
117
  :'extended_credit_total_count' => :'extendedCreditTotalCount',
115
- :'network_routing_order' => :'networkRoutingOrder'
118
+ :'network_routing_order' => :'networkRoutingOrder',
119
+ :'pay_by_points_indicator' => :'payByPointsIndicator'
116
120
  }
117
121
  end
118
122
 
@@ -144,7 +148,8 @@ module CyberSource
144
148
  :'japan_payment_options' => :'Ptsv2paymentsProcessingInformationJapanPaymentOptions',
145
149
  :'mobile_remote_payment_type' => :'String',
146
150
  :'extended_credit_total_count' => :'String',
147
- :'network_routing_order' => :'String'
151
+ :'network_routing_order' => :'String',
152
+ :'pay_by_points_indicator' => :'BOOLEAN'
148
153
  }
149
154
  end
150
155
 
@@ -265,6 +270,10 @@ module CyberSource
265
270
  if attributes.has_key?(:'networkRoutingOrder')
266
271
  self.network_routing_order = attributes[:'networkRoutingOrder']
267
272
  end
273
+
274
+ if attributes.has_key?(:'payByPointsIndicator')
275
+ self.pay_by_points_indicator = attributes[:'payByPointsIndicator']
276
+ end
268
277
  end
269
278
 
270
279
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -394,7 +403,8 @@ module CyberSource
394
403
  japan_payment_options == o.japan_payment_options &&
395
404
  mobile_remote_payment_type == o.mobile_remote_payment_type &&
396
405
  extended_credit_total_count == o.extended_credit_total_count &&
397
- network_routing_order == o.network_routing_order
406
+ network_routing_order == o.network_routing_order &&
407
+ pay_by_points_indicator == o.pay_by_points_indicator
398
408
  end
399
409
 
400
410
  # @see the `==` method
@@ -406,7 +416,7 @@ module CyberSource
406
416
  # Calculates hash code according to all attributes.
407
417
  # @return [Fixnum] Hash code
408
418
  def hash
409
- [action_list, action_token_types, capture, processor_id, business_application_id, commerce_indicator, payment_solution, reconciliation_id, link_id, purchase_level, report_group, visa_checkout_id, industry_data_type, authorization_options, capture_options, recurring_options, bank_transfer_options, purchase_options, electronic_benefits_transfer, loan_options, wallet_type, national_net_domestic_data, japan_payment_options, mobile_remote_payment_type, extended_credit_total_count, network_routing_order].hash
419
+ [action_list, action_token_types, capture, processor_id, business_application_id, commerce_indicator, payment_solution, reconciliation_id, link_id, purchase_level, report_group, visa_checkout_id, industry_data_type, authorization_options, capture_options, recurring_options, bank_transfer_options, purchase_options, electronic_benefits_transfer, loan_options, wallet_type, national_net_domestic_data, japan_payment_options, mobile_remote_payment_type, extended_credit_total_count, network_routing_order, pay_by_points_indicator].hash
410
420
  end
411
421
 
412
422
  # Builds the object from hash
@@ -22,12 +22,15 @@ module CyberSource
22
22
 
23
23
  attr_accessor :buyer_history
24
24
 
25
+ attr_accessor :auxiliary_data
26
+
25
27
  # Attribute mapping from ruby-style variable name to JSON key.
26
28
  def self.attribute_map
27
29
  {
28
30
  :'profile' => :'profile',
29
31
  :'event_type' => :'eventType',
30
- :'buyer_history' => :'buyerHistory'
32
+ :'buyer_history' => :'buyerHistory',
33
+ :'auxiliary_data' => :'auxiliaryData'
31
34
  }
32
35
  end
33
36
 
@@ -36,7 +39,8 @@ module CyberSource
36
39
  {
37
40
  :'profile' => :'Ptsv2paymentsRiskInformationProfile',
38
41
  :'event_type' => :'String',
39
- :'buyer_history' => :'Ptsv2paymentsRiskInformationBuyerHistory'
42
+ :'buyer_history' => :'Ptsv2paymentsRiskInformationBuyerHistory',
43
+ :'auxiliary_data' => :'Array<Ptsv2paymentsRiskInformationAuxiliaryData>'
40
44
  }
41
45
  end
42
46
 
@@ -59,6 +63,12 @@ module CyberSource
59
63
  if attributes.has_key?(:'buyerHistory')
60
64
  self.buyer_history = attributes[:'buyerHistory']
61
65
  end
66
+
67
+ if attributes.has_key?(:'auxiliaryData')
68
+ if (value = attributes[:'auxiliaryData']).is_a?(Array)
69
+ self.auxiliary_data = value
70
+ end
71
+ end
62
72
  end
63
73
 
64
74
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -87,7 +97,8 @@ module CyberSource
87
97
  self.class == o.class &&
88
98
  profile == o.profile &&
89
99
  event_type == o.event_type &&
90
- buyer_history == o.buyer_history
100
+ buyer_history == o.buyer_history &&
101
+ auxiliary_data == o.auxiliary_data
91
102
  end
92
103
 
93
104
  # @see the `==` method
@@ -99,7 +110,7 @@ module CyberSource
99
110
  # Calculates hash code according to all attributes.
100
111
  # @return [Fixnum] Hash code
101
112
  def hash
102
- [profile, event_type, buyer_history].hash
113
+ [profile, event_type, buyer_history, auxiliary_data].hash
103
114
  end
104
115
 
105
116
  # Builds the object from hash
@@ -0,0 +1,207 @@
1
+ =begin
2
+ #CyberSource Merged Spec
3
+
4
+ #All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.2.3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CyberSource
16
+ # Contains auxiliary key-value pairs.
17
+ class Ptsv2paymentsRiskInformationAuxiliaryData
18
+ # Fields that you can use to send additional data to Risk services. **Warning** Auxiliary fields are not intended to and MUST NOT be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the auxiliary data fields. Personally identifying information includes, but is not limited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV, CVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the auxiliary data fields, whether or not intentionally, CyberSource WILL immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.
19
+ attr_accessor :key
20
+
21
+ # String value for the key
22
+ attr_accessor :value
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'key' => :'key',
28
+ :'value' => :'value'
29
+ }
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.swagger_types
34
+ {
35
+ :'key' => :'String',
36
+ :'value' => :'String'
37
+ }
38
+ end
39
+
40
+ # Initializes the object
41
+ # @param [Hash] attributes Model attributes in the form of hash
42
+ def initialize(attributes = {})
43
+ return unless attributes.is_a?(Hash)
44
+
45
+ # convert string to symbol for hash key
46
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
47
+
48
+ if attributes.has_key?(:'key')
49
+ self.key = attributes[:'key']
50
+ end
51
+
52
+ if attributes.has_key?(:'value')
53
+ self.value = attributes[:'value']
54
+ end
55
+ end
56
+
57
+ # Show invalid properties with the reasons. Usually used together with valid?
58
+ # @return Array for valid properties with the reasons
59
+ def list_invalid_properties
60
+ invalid_properties = Array.new
61
+ invalid_properties
62
+ end
63
+
64
+ # Check to see if the all the properties in the model are valid
65
+ # @return true if the model is valid
66
+ def valid?
67
+ true
68
+ end
69
+
70
+ # Custom attribute writer method with validation
71
+ # @param [Object] key Value to be assigned
72
+ def key=(key)
73
+ @key = key
74
+ end
75
+
76
+ # Custom attribute writer method with validation
77
+ # @param [Object] value Value to be assigned
78
+ def value=(value)
79
+ @value = value
80
+ end
81
+
82
+ # Checks equality by comparing each attribute.
83
+ # @param [Object] Object to be compared
84
+ def ==(o)
85
+ return true if self.equal?(o)
86
+ self.class == o.class &&
87
+ key == o.key &&
88
+ value == o.value
89
+ end
90
+
91
+ # @see the `==` method
92
+ # @param [Object] Object to be compared
93
+ def eql?(o)
94
+ self == o
95
+ end
96
+
97
+ # Calculates hash code according to all attributes.
98
+ # @return [Fixnum] Hash code
99
+ def hash
100
+ [key, value].hash
101
+ end
102
+
103
+ # Builds the object from hash
104
+ # @param [Hash] attributes Model attributes in the form of hash
105
+ # @return [Object] Returns the model itself
106
+ def build_from_hash(attributes)
107
+ return nil unless attributes.is_a?(Hash)
108
+ self.class.swagger_types.each_pair do |key, type|
109
+ if type =~ /\AArray<(.*)>/i
110
+ # check to ensure the input is an array given that the the attribute
111
+ # is documented as an array but the input is not
112
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
113
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
114
+ end
115
+ elsif !attributes[self.class.attribute_map[key]].nil?
116
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
117
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
118
+ end
119
+
120
+ self
121
+ end
122
+
123
+ # Deserializes the data based on type
124
+ # @param string type Data type
125
+ # @param string value Value to be deserialized
126
+ # @return [Object] Deserialized data
127
+ def _deserialize(type, value)
128
+ case type.to_sym
129
+ when :DateTime
130
+ DateTime.parse(value)
131
+ when :Date
132
+ Date.parse(value)
133
+ when :String
134
+ value.to_s
135
+ when :Integer
136
+ value.to_i
137
+ when :Float
138
+ value.to_f
139
+ when :BOOLEAN
140
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
141
+ true
142
+ else
143
+ false
144
+ end
145
+ when :Object
146
+ # generic object (usually a Hash), return directly
147
+ value
148
+ when /\AArray<(?<inner_type>.+)>\z/
149
+ inner_type = Regexp.last_match[:inner_type]
150
+ value.map { |v| _deserialize(inner_type, v) }
151
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
152
+ k_type = Regexp.last_match[:k_type]
153
+ v_type = Regexp.last_match[:v_type]
154
+ {}.tap do |hash|
155
+ value.each do |k, v|
156
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
157
+ end
158
+ end
159
+ else # model
160
+ temp_model = CyberSource.const_get(type).new
161
+ temp_model.build_from_hash(value)
162
+ end
163
+ end
164
+
165
+ # Returns the string representation of the object
166
+ # @return [String] String presentation of the object
167
+ def to_s
168
+ to_hash.to_s
169
+ end
170
+
171
+ # to_body is an alias to to_hash (backward compatibility)
172
+ # @return [Hash] Returns the object in the form of hash
173
+ def to_body
174
+ to_hash
175
+ end
176
+
177
+ # Returns the object in the form of hash
178
+ # @return [Hash] Returns the object in the form of hash
179
+ def to_hash
180
+ hash = {}
181
+ self.class.attribute_map.each_pair do |attr, param|
182
+ value = self.send(attr)
183
+ next if value.nil?
184
+ hash[param] = _to_hash(value)
185
+ end
186
+ hash
187
+ end
188
+
189
+ # Outputs non-array value in the form of hash
190
+ # For object, use to_hash. Otherwise, just return the value
191
+ # @param [Object] value Any valid value
192
+ # @return [Hash] Returns the value in the form of hash
193
+ def _to_hash(value)
194
+ if value.is_a?(Array)
195
+ value.compact.map { |v| _to_hash(v) }
196
+ elsif value.is_a?(Hash)
197
+ {}.tap do |hash|
198
+ value.each { |k, v| hash[k] = _to_hash(v) }
199
+ end
200
+ elsif value.respond_to? :to_hash
201
+ value.to_hash
202
+ else
203
+ value
204
+ end
205
+ end
206
+ end
207
+ end