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.
- checksums.yaml +4 -4
- data/lib/AuthenticationSDK/authentication/oauth/OAuthToken.rb +15 -0
- data/lib/AuthenticationSDK/core/Authorization.rb +4 -1
- data/lib/AuthenticationSDK/core/MerchantConfig.rb +93 -19
- data/lib/AuthenticationSDK/util/Constants.rb +77 -75
- data/lib/cybersource_rest_client/api/o_auth_api.rb +104 -0
- data/lib/cybersource_rest_client/api/payments_api.rb +2 -2
- data/lib/cybersource_rest_client/api/refund_api.rb +4 -4
- data/lib/cybersource_rest_client/api/void_api.rb +4 -4
- data/lib/cybersource_rest_client/api_client.rb +31 -8
- data/lib/cybersource_rest_client/configuration.rb +2 -2
- data/lib/cybersource_rest_client/models/access_token_response.rb +244 -0
- data/lib/cybersource_rest_client/models/add_negative_list_request.rb +1 -1
- data/lib/cybersource_rest_client/models/bad_request_error.rb +192 -0
- data/lib/cybersource_rest_client/models/create_access_token_request.rb +254 -0
- data/lib/cybersource_rest_client/models/fraud_marking_action_request.rb +1 -1
- data/lib/cybersource_rest_client/models/inline_response_400_2.rb +1 -1
- data/lib/cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response.rb +1 -1
- data/lib/cybersource_rest_client/models/invoicing_v2_invoices_all_get200_response.rb +1 -1
- data/lib/cybersource_rest_client/models/invoicing_v2_invoices_all_get200_response_customer_information.rb +20 -4
- data/lib/cybersource_rest_client/models/invoicing_v2_invoices_all_get200_response_invoices.rb +1 -1
- data/lib/cybersource_rest_client/models/invoicing_v2_invoices_all_get400_response.rb +1 -1
- data/lib/cybersource_rest_client/models/invoicing_v2_invoices_all_get404_response.rb +1 -1
- data/lib/cybersource_rest_client/models/invoicing_v2_invoices_all_get502_response.rb +1 -1
- data/lib/cybersource_rest_client/models/invoicing_v2_invoices_get200_response.rb +2 -2
- data/lib/cybersource_rest_client/models/invoicing_v2_invoices_post201_response.rb +2 -2
- data/lib/cybersource_rest_client/models/invoicing_v2_invoices_post202_response.rb +1 -1
- data/lib/cybersource_rest_client/models/invoicingv2invoices_customer_information.rb +20 -4
- data/lib/cybersource_rest_client/models/kms_v2_keys_asym_deletes_post200_response.rb +1 -1
- data/lib/cybersource_rest_client/models/kms_v2_keys_asym_get200_response.rb +1 -1
- data/lib/cybersource_rest_client/models/kms_v2_keys_asym_post201_response.rb +1 -1
- data/lib/cybersource_rest_client/models/kms_v2_keys_sym_deletes_post200_response.rb +1 -1
- data/lib/cybersource_rest_client/models/kms_v2_keys_sym_get200_response.rb +1 -1
- data/lib/cybersource_rest_client/models/kms_v2_keys_sym_post201_response.rb +1 -1
- data/lib/cybersource_rest_client/models/pts_v1_transaction_batches_get200_response.rb +1 -1
- data/lib/cybersource_rest_client/models/pts_v1_transaction_batches_get400_response.rb +1 -1
- data/lib/cybersource_rest_client/models/pts_v1_transaction_batches_get500_response.rb +1 -1
- data/lib/cybersource_rest_client/models/pts_v2_credits_post201_response.rb +3 -3
- data/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch201_response.rb +3 -3
- data/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch201_response_error_information.rb +1 -1
- data/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch201_response_processor_information.rb +6 -0
- data/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch400_response.rb +1 -1
- data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response.rb +3 -3
- data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post400_response.rb +1 -1
- data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response.rb +13 -4
- data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_consumer_authentication_information.rb +11 -1
- data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_error_information.rb +1 -1
- data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_order_information.rb +13 -4
- data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_order_information_reward_points_details.rb +270 -0
- 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
- data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_account_information_card.rb +242 -0
- data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information.rb +1 -1
- data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information_tokenized_card.rb +1 -1
- data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processing_information.rb +1 -1
- data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information.rb +9 -13
- data/lib/cybersource_rest_client/models/pts_v2_payments_post400_response.rb +2 -2
- data/lib/cybersource_rest_client/models/pts_v2_payments_post502_response.rb +1 -1
- data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response.rb +3 -3
- data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post400_response.rb +1 -1
- data/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response.rb +3 -3
- data/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post400_response.rb +1 -1
- data/lib/cybersource_rest_client/models/pts_v2_payments_voids_post201_response.rb +2 -2
- data/lib/cybersource_rest_client/models/pts_v2_payments_voids_post400_response.rb +1 -1
- data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response.rb +1 -1
- data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_error_information.rb +1 -1
- data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_merchant_information_merchant_descriptor.rb +6 -0
- data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_order_information_amount_details.rb +2 -2
- data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_recipient_information_card.rb +1 -1
- data/lib/cybersource_rest_client/models/pts_v2_payouts_post400_response.rb +1 -1
- data/lib/cybersource_rest_client/models/ptsv2credits_processing_information.rb +2 -2
- data/lib/cybersource_rest_client/models/ptsv2payments_client_reference_information.rb +1 -1
- data/lib/cybersource_rest_client/models/ptsv2payments_consumer_authentication_information.rb +27 -1
- data/lib/cybersource_rest_client/models/ptsv2payments_merchant_information_merchant_descriptor.rb +6 -0
- data/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details.rb +2 -2
- data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_card.rb +4 -4
- data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_fluid_data.rb +3 -3
- data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_tokenized_card.rb +1 -1
- data/lib/cybersource_rest_client/models/ptsv2payments_point_of_sale_information.rb +38 -38
- data/lib/cybersource_rest_client/models/ptsv2payments_processing_information.rb +16 -6
- data/lib/cybersource_rest_client/models/ptsv2payments_risk_information.rb +15 -4
- data/lib/cybersource_rest_client/models/ptsv2payments_risk_information_auxiliary_data.rb +207 -0
- data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_payment_information_card.rb +1 -1
- data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_processing_information.rb +15 -5
- data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_payment_information_card.rb +4 -4
- data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_processing_information.rb +1 -1
- data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_client_reference_information.rb +17 -1
- data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_processing_information.rb +1 -1
- data/lib/cybersource_rest_client/models/ptsv2payouts_merchant_information_merchant_descriptor.rb +6 -0
- data/lib/cybersource_rest_client/models/ptsv2payouts_payment_information_card.rb +4 -4
- data/lib/cybersource_rest_client/models/resource_not_found_error.rb +192 -0
- data/lib/cybersource_rest_client/models/risk_v1_address_verifications_post201_response.rb +3 -3
- data/lib/cybersource_rest_client/models/risk_v1_authentication_results_post201_response.rb +3 -3
- data/lib/cybersource_rest_client/models/risk_v1_authentication_setups_post201_response.rb +2 -2
- data/lib/cybersource_rest_client/models/risk_v1_authentications_post201_response.rb +3 -3
- data/lib/cybersource_rest_client/models/risk_v1_authentications_post400_response.rb +1 -1
- data/lib/cybersource_rest_client/models/risk_v1_authentications_post400_response_1.rb +1 -1
- data/lib/cybersource_rest_client/models/risk_v1_decisions_post201_response.rb +3 -3
- data/lib/cybersource_rest_client/models/risk_v1_decisions_post400_response.rb +1 -1
- data/lib/cybersource_rest_client/models/risk_v1_decisions_post400_response_1.rb +1 -1
- data/lib/cybersource_rest_client/models/risk_v1_export_compliance_inquiries_post201_response.rb +3 -3
- data/lib/cybersource_rest_client/models/risk_v1_update_post201_response.rb +2 -2
- data/lib/cybersource_rest_client/models/riskv1authenticationresults_consumer_authentication_information.rb +1 -1
- data/lib/cybersource_rest_client/models/riskv1authenticationresults_payment_information_card.rb +3 -3
- data/lib/cybersource_rest_client/models/riskv1authenticationresults_payment_information_tokenized_card.rb +1 -1
- data/lib/cybersource_rest_client/models/riskv1authentications_payment_information_card.rb +3 -3
- data/lib/cybersource_rest_client/models/riskv1authentications_payment_information_tokenized_card.rb +1 -1
- data/lib/cybersource_rest_client/models/riskv1authenticationsetups_payment_information_card.rb +3 -3
- data/lib/cybersource_rest_client/models/riskv1authenticationsetups_payment_information_fluid_data.rb +3 -3
- data/lib/cybersource_rest_client/models/riskv1authenticationsetups_payment_information_tokenized_card.rb +1 -1
- data/lib/cybersource_rest_client/models/riskv1authenticationsetups_processing_information.rb +1 -1
- data/lib/cybersource_rest_client/models/riskv1decisions_client_reference_information.rb +17 -1
- data/lib/cybersource_rest_client/models/riskv1decisions_device_information.rb +1 -11
- data/lib/cybersource_rest_client/models/riskv1decisions_payment_information_card.rb +3 -3
- data/lib/cybersource_rest_client/models/riskv1decisions_payment_information_tokenized_card.rb +1 -1
- data/lib/cybersource_rest_client/models/riskv1decisions_risk_information.rb +15 -4
- data/lib/cybersource_rest_client/models/riskv1liststypeentries_client_reference_information.rb +224 -0
- data/lib/cybersource_rest_client/models/riskv1liststypeentries_payment_information_card.rb +1 -1
- data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response.rb +3 -3
- data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_consumer_authentication_information.rb +13 -4
- data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_consumer_authentication_information_strong_authentication.rb +254 -0
- data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_order_information_amount_details.rb +2 -2
- data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_card.rb +5 -5
- data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information.rb +2 -2
- data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information_authorization_options.rb +13 -4
- data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processor_information.rb +8 -12
- data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_risk_information.rb +1 -1
- data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response.rb +1 -1
- data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_merchant_information.rb +1 -1
- data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_order_information_bill_to.rb +17 -1
- data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_payment_information_card.rb +3 -3
- data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_processing_information.rb +2 -2
- data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_processor_information.rb +6 -0
- data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_transaction_summaries.rb +2 -2
- data/lib/cybersource_rest_client/models/tss_v2_transactions_post400_response.rb +1 -1
- data/lib/cybersource_rest_client/models/unauthorized_client_error.rb +192 -0
- data/lib/cybersource_rest_client/models/validate_export_compliance_request.rb +1 -1
- data/lib/cybersource_rest_client/models/vas_v2_payments_post201_response.rb +2 -2
- data/lib/cybersource_rest_client/models/vas_v2_payments_post400_response.rb +1 -1
- data/lib/cybersource_rest_client/models/vas_v2_tax_void200_response.rb +2 -2
- data/lib/cybersource_rest_client/models/vas_v2_tax_voids_post400_response.rb +1 -1
- data/lib/cybersource_rest_client/models/verify_customer_address_request.rb +1 -1
- data/lib/cybersource_rest_client.rb +12 -1
- metadata +113 -93
- data/lib/AuthenticationSDK/resource/TRRReports.json +0 -12
- data/lib/AuthenticationSDK/resource/cybs.yml +0 -31
- data/lib/AuthenticationSDK/resource/request.json +0 -54
- data/lib/AuthenticationSDK/resource/request_capture.json +0 -11
- data/lib/AuthenticationSDK/resource/testrest.p12 +0 -0
- data/lib/AuthenticationSDK/spec/Authorization_spec.rb +0 -274
- data/lib/AuthenticationSDK/spec/MerchantConfigData.rb +0 -59
- data/lib/AuthenticationSDK/spec/MerchantConfig_spec.rb +0 -116
- data/lib/AuthenticationSDK/spec/PostRequestData.json +0 -54
- data/lib/AuthenticationSDK/spec/PutRequestData.json +0 -12
- data/lib/AuthenticationSDK/spec/ResponseCodeMessage_spec.rb +0 -60
- 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. ####
|
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. ####
|
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).
|
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:
|
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
|
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.
|
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,
|
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.
|
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
|