genesis_ruby 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +11 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +158 -0
- data/LICENSE +21 -0
- data/README.md +343 -0
- data/Rakefile +12 -0
- data/VERSION +1 -0
- data/genesis_ruby.gemspec +43 -0
- data/lib/genesis_ruby/api/constants/currencies/iso4217.rb +1106 -0
- data/lib/genesis_ruby/api/constants/date_time_formats.rb +45 -0
- data/lib/genesis_ruby/api/constants/endpoints.rb +18 -0
- data/lib/genesis_ruby/api/constants/environments.rb +17 -0
- data/lib/genesis_ruby/api/constants/states/state.rb +43 -0
- data/lib/genesis_ruby/api/constants/states.rb +86 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/business/payment_types.rb +24 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/recurring/categories.rb +24 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/recurring/types.rb +28 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/sca_exemptions.rb +34 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/browser/color_depths.rb +46 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/password_change_indicators.rb +37 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/registration_indicators.rb +37 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/shipping_address_usage_indicators.rb +34 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/suspicious_activity_indicators.rb +28 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/update_indicators.rb +34 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/control/challenge_indicators.rb +34 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/control/challenge_window_sizes.rb +37 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/control/device_types.rb +28 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/delivery_timeframes.rb +34 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/pre_order_purchase_indicators.rb +28 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/reorder_item_indicators.rb +28 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/shipping_indicators.rb +46 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/purchase/categories.rb +43 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/sdk/interfaces.rb +31 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/sdk/ui_types.rb +37 -0
- data/lib/genesis_ruby/api/constants/transactions.rb +371 -0
- data/lib/genesis_ruby/api/mixins/constants/common.rb +27 -0
- data/lib/genesis_ruby/api/mixins/requests/address_info_attributes.rb +20 -0
- data/lib/genesis_ruby/api/mixins/requests/customer_address/billing_info_attributes.rb +33 -0
- data/lib/genesis_ruby/api/mixins/requests/customer_address/customer_info_attributes.rb +26 -0
- data/lib/genesis_ruby/api/mixins/requests/customer_address/shipping_info_attributes.rb +33 -0
- data/lib/genesis_ruby/api/mixins/requests/document_attributes.rb +14 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/async_attributes.rb +34 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/base_attributes.rb +16 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/airlines_air_carriers_attributes.rb +60 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/business_attributes.rb +56 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/car_plane_and_boat_rentals_attributes.rb +53 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/cruise_lines_attributes.rb +50 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/event_management_attributes.rb +54 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/furniture_attributes.rb +53 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/hotels_and_real_estate_rentals_attributes.rb +53 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/travel_agencies_attributes.rb +88 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/credit_card_attributes.rb +31 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/fx_rate_attributes.rb +18 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/recurring_category_attributes.rb +31 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/recurring_type_attributes.rb +31 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/tokenization_attributes.rb +39 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/crypto_attributes.rb +25 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/dynamic_descriptor_attributes.rb +114 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/gaming_attributes.rb +25 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/moto_attributes.rb +25 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/notification_attributes.rb +25 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/payment_attributes.rb +32 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/pending_payment_attributes.rb +25 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/reference_attributes.rb +16 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/risk_attributes.rb +47 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/sca_attributes.rb +37 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/browser.rb +92 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/card_holder_account.rb +183 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/common_attributes.rb +52 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/control.rb +61 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/merchant_risk.rb +114 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/method.rb +44 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/purchase.rb +42 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/recurring.rb +49 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/sdk.rb +107 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/wpf_attributes.rb +61 -0
- data/lib/genesis_ruby/api/mixins/requests/restricted_setter.rb +75 -0
- data/lib/genesis_ruby/api/request.rb +171 -0
- data/lib/genesis_ruby/api/requests/base/financial.rb +44 -0
- data/lib/genesis_ruby/api/requests/base/financials/credit_card.rb +27 -0
- data/lib/genesis_ruby/api/requests/financial/cards/authorize.rb +60 -0
- data/lib/genesis_ruby/api/requests/financial/cards/authorize3d.rb +76 -0
- data/lib/genesis_ruby/api/requests/financial/cards/sale.rb +59 -0
- data/lib/genesis_ruby/api/requests/financial/cards/sale3d.rb +75 -0
- data/lib/genesis_ruby/api/requests/wpf/create.rb +142 -0
- data/lib/genesis_ruby/api/response.rb +91 -0
- data/lib/genesis_ruby/builder.rb +42 -0
- data/lib/genesis_ruby/builders/base.rb +18 -0
- data/lib/genesis_ruby/builders/xml.rb +95 -0
- data/lib/genesis_ruby/configuration.rb +177 -0
- data/lib/genesis_ruby/connection.rb +20 -0
- data/lib/genesis_ruby/dependencies.rb +19 -0
- data/lib/genesis_ruby/errors/builder_error.rb +14 -0
- data/lib/genesis_ruby/errors/endpoint_not_set_error.rb +14 -0
- data/lib/genesis_ruby/errors/error.rb +18 -0
- data/lib/genesis_ruby/errors/invalid_argument_error.rb +14 -0
- data/lib/genesis_ruby/errors/network_error.rb +14 -0
- data/lib/genesis_ruby/errors/object_formatter_error.rb +14 -0
- data/lib/genesis_ruby/errors/parameter_error.rb +12 -0
- data/lib/genesis_ruby/errors/parser_error.rb +14 -0
- data/lib/genesis_ruby/errors/response_error.rb +14 -0
- data/lib/genesis_ruby/network/adapter/base_adapter.rb +31 -0
- data/lib/genesis_ruby/network/adapter/net_http_adapter.rb +92 -0
- data/lib/genesis_ruby/network/base_network.rb +83 -0
- data/lib/genesis_ruby/network/net_http.rb +28 -0
- data/lib/genesis_ruby/parser.rb +44 -0
- data/lib/genesis_ruby/parsers/base.rb +25 -0
- data/lib/genesis_ruby/parsers/xml.rb +120 -0
- data/lib/genesis_ruby/utils/common.rb +108 -0
- data/lib/genesis_ruby/utils/formatters/base.rb +40 -0
- data/lib/genesis_ruby/utils/formatters/response/definitions.rb +21 -0
- data/lib/genesis_ruby/utils/formatters/response/formats/amount.rb +34 -0
- data/lib/genesis_ruby/utils/formatters/response/formats/timestamp.rb +29 -0
- data/lib/genesis_ruby/utils/formatters/response/loader.rb +42 -0
- data/lib/genesis_ruby/utils/money/base/strategy.rb +38 -0
- data/lib/genesis_ruby/utils/money/conversions/amount_to_exponent.rb +22 -0
- data/lib/genesis_ruby/utils/money/conversions/exponent_to_amount.rb +22 -0
- data/lib/genesis_ruby/utils/money/format.rb +34 -0
- data/lib/genesis_ruby/utils/money_format.rb +39 -0
- data/lib/genesis_ruby/utils/object_formatter.rb +67 -0
- data/lib/genesis_ruby/utils/options/api_config.rb +36 -0
- data/lib/genesis_ruby/utils/options/base.rb +35 -0
- data/lib/genesis_ruby/utils/options/network_adapter_config.rb +41 -0
- data/lib/genesis_ruby/utils/transactions/financial_types.rb +50 -0
- data/lib/genesis_ruby/utils/transactions/references/capturable_types.rb +52 -0
- data/lib/genesis_ruby/utils/transactions/references/refundable_types.rb +70 -0
- data/lib/genesis_ruby/utils/transactions/references/voidable_types.rb +49 -0
- data/lib/genesis_ruby/utils/transactions/wpf_types.rb +43 -0
- data/lib/genesis_ruby/version.rb +5 -0
- data/lib/genesis_ruby.rb +57 -0
- metadata +372 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module GenesisRuby
|
|
2
|
+
module Api
|
|
3
|
+
module Constants
|
|
4
|
+
module Transactions
|
|
5
|
+
module Parameters
|
|
6
|
+
module Threeds
|
|
7
|
+
module Version2
|
|
8
|
+
module MerchantRisk
|
|
9
|
+
# Threeds Version2 Merchant Risk Pre-Order Purchase Indicators
|
|
10
|
+
class PreOrderPurchaseIndicators
|
|
11
|
+
|
|
12
|
+
extend Mixins::Constants::Common
|
|
13
|
+
|
|
14
|
+
# Merchandise Available
|
|
15
|
+
MERCHANDISE_AVAILABLE = 'merchandise_available'.freeze
|
|
16
|
+
|
|
17
|
+
# Future Availability
|
|
18
|
+
FUTURE_AVAILABILITY = 'future_availability'.freeze
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module GenesisRuby
|
|
2
|
+
module Api
|
|
3
|
+
module Constants
|
|
4
|
+
module Transactions
|
|
5
|
+
module Parameters
|
|
6
|
+
module Threeds
|
|
7
|
+
module Version2
|
|
8
|
+
module MerchantRisk
|
|
9
|
+
# Threeds Version2 Merchant Risk Re-Order Item Indicators
|
|
10
|
+
class ReorderItemIndicators
|
|
11
|
+
|
|
12
|
+
extend Mixins::Constants::Common
|
|
13
|
+
|
|
14
|
+
# First Time
|
|
15
|
+
FIRST_TIME = 'first_time'.freeze
|
|
16
|
+
|
|
17
|
+
# Reordered
|
|
18
|
+
REORDERED = 'reordered'.freeze
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
module GenesisRuby
|
|
2
|
+
module Api
|
|
3
|
+
module Constants
|
|
4
|
+
module Transactions
|
|
5
|
+
module Parameters
|
|
6
|
+
module Threeds
|
|
7
|
+
module Version2
|
|
8
|
+
module MerchantRisk
|
|
9
|
+
# Threeds Version2 Merchant Risk Shipping Indicators
|
|
10
|
+
class ShippingIndicators
|
|
11
|
+
|
|
12
|
+
extend Mixins::Constants::Common
|
|
13
|
+
|
|
14
|
+
# Sale as Billing
|
|
15
|
+
SAME_AS_BILLING = 'same_as_billing'.freeze
|
|
16
|
+
|
|
17
|
+
# Stored Address
|
|
18
|
+
STORED_ADDRESS = 'stored_address'.freeze
|
|
19
|
+
|
|
20
|
+
# Verified Address
|
|
21
|
+
VERIFIED_ADDRESS = 'verified_address'.freeze
|
|
22
|
+
|
|
23
|
+
# Pick Up
|
|
24
|
+
PICK_UP = 'pick_up'.freeze
|
|
25
|
+
|
|
26
|
+
# Digital Goods
|
|
27
|
+
DIGITAL_GOODS = 'digital_goods'.freeze
|
|
28
|
+
|
|
29
|
+
# Travel
|
|
30
|
+
TRAVEL = 'travel'.freeze
|
|
31
|
+
|
|
32
|
+
# Event Tickets
|
|
33
|
+
EVENT_TICKETS = 'event_tickets'.freeze
|
|
34
|
+
|
|
35
|
+
# Other
|
|
36
|
+
OTHER = 'other'.freeze
|
|
37
|
+
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/purchase/categories.rb
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module GenesisRuby
|
|
2
|
+
module Api
|
|
3
|
+
module Constants
|
|
4
|
+
module Transactions
|
|
5
|
+
module Parameters
|
|
6
|
+
module Threeds
|
|
7
|
+
module Version2
|
|
8
|
+
module Purchase
|
|
9
|
+
# Threeds Version2 Purchase Categories
|
|
10
|
+
class Categories
|
|
11
|
+
|
|
12
|
+
extend Mixins::Constants::Common
|
|
13
|
+
|
|
14
|
+
# Goods
|
|
15
|
+
GOODS = 'goods'.freeze
|
|
16
|
+
|
|
17
|
+
# Service
|
|
18
|
+
SERVICE = 'service'.freeze
|
|
19
|
+
|
|
20
|
+
# Acceptance check
|
|
21
|
+
CHECK_ACCEPTANCE = 'check_acceptance'.freeze
|
|
22
|
+
|
|
23
|
+
# Funding account
|
|
24
|
+
ACCOUNT_FUNDING = 'account_funding'.freeze
|
|
25
|
+
|
|
26
|
+
# Cash quasi
|
|
27
|
+
QUASI_CASH = 'quasi_cash'.freeze
|
|
28
|
+
|
|
29
|
+
# Prepaid activation
|
|
30
|
+
PREPAID_ACTIVATION = 'prepaid_activation'.freeze
|
|
31
|
+
|
|
32
|
+
# Load
|
|
33
|
+
LOAN = 'loan'.freeze
|
|
34
|
+
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/sdk/interfaces.rb
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module GenesisRuby
|
|
2
|
+
module Api
|
|
3
|
+
module Constants
|
|
4
|
+
module Transactions
|
|
5
|
+
module Parameters
|
|
6
|
+
module Threeds
|
|
7
|
+
module Version2
|
|
8
|
+
module Sdk
|
|
9
|
+
# Threeds Version2 Sdk Categories
|
|
10
|
+
class Interfaces
|
|
11
|
+
|
|
12
|
+
extend Mixins::Constants::Common
|
|
13
|
+
|
|
14
|
+
# Native interface
|
|
15
|
+
NATIVE = 'native'.freeze
|
|
16
|
+
|
|
17
|
+
# Html inteface
|
|
18
|
+
HTML = 'html'.freeze
|
|
19
|
+
|
|
20
|
+
# Both interfaces
|
|
21
|
+
BOTH = 'both'.freeze
|
|
22
|
+
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
module GenesisRuby
|
|
2
|
+
module Api
|
|
3
|
+
module Constants
|
|
4
|
+
module Transactions
|
|
5
|
+
module Parameters
|
|
6
|
+
module Threeds
|
|
7
|
+
module Version2
|
|
8
|
+
module Sdk
|
|
9
|
+
# Threeds Version2 Sdk Categories
|
|
10
|
+
class UiTypes
|
|
11
|
+
|
|
12
|
+
extend Mixins::Constants::Common
|
|
13
|
+
|
|
14
|
+
# Text
|
|
15
|
+
TEXT = 'text'.freeze
|
|
16
|
+
|
|
17
|
+
# Single Select
|
|
18
|
+
SINGLE_SELECT = 'single_select'.freeze
|
|
19
|
+
|
|
20
|
+
# Multi Select
|
|
21
|
+
MULTI_SELECT = 'multi_select'.freeze
|
|
22
|
+
|
|
23
|
+
# Out of bag
|
|
24
|
+
OUT_OF_BAG = 'out_of_bag'.freeze
|
|
25
|
+
|
|
26
|
+
# Othre html
|
|
27
|
+
OTHER_HTML = 'other_html'.freeze
|
|
28
|
+
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
require 'genesis_ruby/api/mixins/constants/common'
|
|
2
|
+
|
|
3
|
+
module GenesisRuby
|
|
4
|
+
module Api
|
|
5
|
+
module Constants
|
|
6
|
+
# Available Transaction Types definitions
|
|
7
|
+
module Transactions
|
|
8
|
+
|
|
9
|
+
extend Mixins::Constants::Common
|
|
10
|
+
|
|
11
|
+
# Account Verification
|
|
12
|
+
ACCOUNT_VERIFICATION = 'account_verification'.freeze
|
|
13
|
+
|
|
14
|
+
# African Mobile Payout, or otherwise known as Disbursement, is an APM used to process Mobile network operator
|
|
15
|
+
# payments. It is an async payment method and will be approved once the payment is processed with the Mobile
|
|
16
|
+
# network operator
|
|
17
|
+
AFRICAN_MOBILE_PAYOUT = 'african_mobile_payout'.freeze
|
|
18
|
+
|
|
19
|
+
# African Mobile Sale, otherwise known as Charge, is an APM used to process Mobile network operator payments.
|
|
20
|
+
# It is an async payment method and will be approved once the payment is processed with the Mobile network
|
|
21
|
+
# operator
|
|
22
|
+
AFRICAN_MOBILE_SALE = 'african_mobile_sale'.freeze
|
|
23
|
+
|
|
24
|
+
# Apple pay is payment method working with apple devices
|
|
25
|
+
APPLE_PAY = 'apple_pay'.freeze
|
|
26
|
+
|
|
27
|
+
# Argencard is a debit or credit card used in Argentina. It allows online shoppers to pay offline
|
|
28
|
+
# for their online purchases at over 150,000 physical outlets.
|
|
29
|
+
ARGENCARD = 'argencard'.freeze
|
|
30
|
+
|
|
31
|
+
# Aura is a local Brazilian credit card.
|
|
32
|
+
AURA = 'aura'.freeze
|
|
33
|
+
|
|
34
|
+
# A standard Authorization
|
|
35
|
+
AUTHORIZE = 'authorize'.freeze
|
|
36
|
+
|
|
37
|
+
# 3D-Secure Authorization
|
|
38
|
+
AUTHORIZE_3D = 'authorize3d'.freeze
|
|
39
|
+
|
|
40
|
+
# Baloto is a cash payment option in Colombia. It allows the customers to receive a voucher at check-out.
|
|
41
|
+
# The voucher can then be paid in any of the Via Boleto offices in cash.
|
|
42
|
+
BALOTO = 'baloto'.freeze
|
|
43
|
+
|
|
44
|
+
# Bancomer offers two options for payments in Mexico, cash payment and bank transfer.
|
|
45
|
+
BANCOMER = 'bancomer'.freeze
|
|
46
|
+
|
|
47
|
+
# Bancontact is a local Belgian debit card scheme.
|
|
48
|
+
# All Belgian debit cards are co-branded Bancontact and Maestro.
|
|
49
|
+
BANCONTACT = 'bcmc'.freeze
|
|
50
|
+
|
|
51
|
+
# Banco de Occidente is a cash payment method for Colombia
|
|
52
|
+
BANCO_DE_OCCIDENTE = 'banco_de_occidente'.freeze
|
|
53
|
+
|
|
54
|
+
# Banco do Brasil offers online bank transfer payment service.
|
|
55
|
+
BANCO_DO_BRASIL = 'banco_do_brasil'.freeze
|
|
56
|
+
|
|
57
|
+
# BitPay Payout is a crypto currency payout method where merchants are requesting
|
|
58
|
+
# payouts in FIAT currency and the funds are transfered in Bitcoin equivalent to a crypto wallet address.
|
|
59
|
+
BITPAY_PAYOUT = 'bitpay_payout'.freeze
|
|
60
|
+
|
|
61
|
+
# BitPay Refund is a custom refund method which will handle the asynchronous BitPay refund workflow.
|
|
62
|
+
# BitPay refunds can only be done on former transactions. Therefore, the reference id for the
|
|
63
|
+
# corresponding BitPay Sale transaction is mandatory.
|
|
64
|
+
BITPAY_REFUND = 'bitpay_refund'.freeze
|
|
65
|
+
|
|
66
|
+
# BitPay is a cryptocurrency payments provider supporting blockchain payments
|
|
67
|
+
# with Bitcoin (BTC) and BitcoinCash (BCH).
|
|
68
|
+
BITPAY_SALE = 'bitpay_sale'.freeze
|
|
69
|
+
|
|
70
|
+
# Boleto is a payment service in Brazil
|
|
71
|
+
BOLETO = 'boleto'.freeze
|
|
72
|
+
|
|
73
|
+
# Bradesco is a payment service in Brazil
|
|
74
|
+
BRADESCO = 'bradesco'.freeze
|
|
75
|
+
|
|
76
|
+
# Cabal is a local debit/credit card brand in Argentina which can be used for online purchases.
|
|
77
|
+
CABAL = 'cabal'.freeze
|
|
78
|
+
|
|
79
|
+
# Capture settles a transaction which has been authorized before.
|
|
80
|
+
CAPTURE = 'capture'.freeze
|
|
81
|
+
|
|
82
|
+
# Voucher-based payment
|
|
83
|
+
CASHU = 'cashu'.freeze
|
|
84
|
+
|
|
85
|
+
# Cencosud is a local credit card in Argentina
|
|
86
|
+
CENCOSUD = 'cencosud'.freeze
|
|
87
|
+
|
|
88
|
+
# Credits (also known as Credit Fund Transfer a.k.a. CFT)
|
|
89
|
+
CREDIT = 'credit'.freeze
|
|
90
|
+
|
|
91
|
+
# Davivienda is offering the Bill pay service which is a fast, easy and secure way to pay and manage
|
|
92
|
+
# your bills online to anyone, anytime in Colombia.
|
|
93
|
+
DAVIVIENDA = 'davivienda'.freeze
|
|
94
|
+
|
|
95
|
+
# Efecty is an offline cash payment voucher option in Colombia.
|
|
96
|
+
EFECTY = 'efecty'.freeze
|
|
97
|
+
|
|
98
|
+
# Elo is a local Brazilian payment card.
|
|
99
|
+
ELO = 'elo'.freeze
|
|
100
|
+
|
|
101
|
+
# e-payment standard
|
|
102
|
+
# Direct PPRO transaction
|
|
103
|
+
EPS = 'eps'.freeze
|
|
104
|
+
|
|
105
|
+
# eZeeCard Payout is a sync based payout method.
|
|
106
|
+
# It's merchant initiated and can only reference specific transaction types
|
|
107
|
+
EZEECARD_PAYOUT = 'ezeecard_payout'.freeze
|
|
108
|
+
|
|
109
|
+
# Wallet-based payment
|
|
110
|
+
EZEEWALLET = 'ezeewallet'.freeze
|
|
111
|
+
|
|
112
|
+
# Fashioncheque transactions are made using gift card provided by Fashioncheque.
|
|
113
|
+
# Using a fashioncheque transaction, the amount is immediately billed to the customer’s gift card.
|
|
114
|
+
# It can be reversed via a void transaction on the same day of the transaction.
|
|
115
|
+
# They can also be refunded.
|
|
116
|
+
FASHIONCHEQUE = 'fashioncheque'.freeze
|
|
117
|
+
|
|
118
|
+
# GiroPay
|
|
119
|
+
# Direct PPRO transaction
|
|
120
|
+
GIROPAY = 'giropay'.freeze
|
|
121
|
+
|
|
122
|
+
# Google Pay allows shoppers to purchase with credit and debit cards linked to their Google account.
|
|
123
|
+
GOOGLE_PAY = 'google_pay'.freeze
|
|
124
|
+
|
|
125
|
+
# iDEAL
|
|
126
|
+
# Direct PPRO transaction
|
|
127
|
+
IDEAL = 'ideal'.freeze
|
|
128
|
+
|
|
129
|
+
# iDebit connects consumers to their online banking directly from checkout, enabling secure,
|
|
130
|
+
# real-time payments without a credit card.
|
|
131
|
+
# Using iDebit allows consumers to transfer funds to merchants without
|
|
132
|
+
# revealing their personal banking information.
|
|
133
|
+
# iDebit Payin is only asynchronous and uses eCheck.
|
|
134
|
+
IDEBIT_PAYIN = 'idebit_payin'.freeze
|
|
135
|
+
|
|
136
|
+
# iDebit connects consumers to their online banking directly from checkout, enabling secure,
|
|
137
|
+
# real-time payments without a credit card.
|
|
138
|
+
# Using iDebit allows consumers to transfer funds to merchants without
|
|
139
|
+
# revealing their personal banking information.
|
|
140
|
+
# iDebit Payout is only synchronous and uses eCheck.
|
|
141
|
+
IDEBIT_PAYOUT = 'idebit_payout'.freeze
|
|
142
|
+
|
|
143
|
+
# Incremental authorizations are used in preauthorization workflow to extend the preauthorization amount,
|
|
144
|
+
# extend the preauthorization time-frame
|
|
145
|
+
INCREMENTAL_AUTHORIZE = 'incremental_authorize'.freeze
|
|
146
|
+
|
|
147
|
+
# A standard initial recurring
|
|
148
|
+
# @deprecated Since 0.1.0 Payment method is deprecated and will be removed
|
|
149
|
+
INIT_RECURRING_SALE = 'init_recurring_sale'.freeze
|
|
150
|
+
|
|
151
|
+
# 3D-based initial recurring
|
|
152
|
+
# @deprecated Since 0.1.0 Payment method is deprecated and will be removed
|
|
153
|
+
INIT_RECURRING_SALE_3D = 'init_recurring_sale3d'.freeze
|
|
154
|
+
|
|
155
|
+
# InstaDebit connects consumers to their online banking directly from checkout, enabling secure,
|
|
156
|
+
# real- time payments without a credit card.
|
|
157
|
+
# Using InstaDebit allows consumers to transfer funds to merchants without
|
|
158
|
+
# revealing their personal banking information.
|
|
159
|
+
# InstaDebit Payin is only asynchronous and uses online bank transfer.
|
|
160
|
+
INSTA_DEBIT_PAYIN = 'insta_debit_payin'.freeze
|
|
161
|
+
|
|
162
|
+
# InstaDebit connects consumers to their online banking directly from checkout, enabling secure,
|
|
163
|
+
# real- time payments without a credit card.
|
|
164
|
+
# Using InstaDebit allows consumers to transfer funds to merchants without
|
|
165
|
+
# revealing their personal banking information.
|
|
166
|
+
# InstaDebit Payout is only synchronous and uses online bank transfer.
|
|
167
|
+
INSTA_DEBIT_PAYOUT = 'insta_debit_payout'.freeze
|
|
168
|
+
|
|
169
|
+
# Intersolve transactions are made using gift card provided by Intersolve
|
|
170
|
+
# Using a intersolve transaction, the amount is immediately billed to the customer’s gift card.
|
|
171
|
+
# It can be reversed via a void transaction.
|
|
172
|
+
INTERSOLVE = 'intersolve'.freeze
|
|
173
|
+
|
|
174
|
+
# Alternative payments refer to payment methods that are used as an alternative to credit card payments.
|
|
175
|
+
# Each alternative payment method has its own unique application, settlement process and currency support.
|
|
176
|
+
INVOICE = 'invoice'.freeze
|
|
177
|
+
|
|
178
|
+
# A Invoice capture can only be used after a Invoice on the same transaction.
|
|
179
|
+
INVOICE_CAPTURE = 'invoice_capture'.freeze
|
|
180
|
+
|
|
181
|
+
# The amount can be fully or partially refunded. Invoice refunds can only be done on former
|
|
182
|
+
# Invoice Capture (settled) transactions.
|
|
183
|
+
INVOICE_REFUND = 'invoice_refund'.freeze
|
|
184
|
+
|
|
185
|
+
# Itau is a real-time online bank transfer method and a virtual card.
|
|
186
|
+
ITAU = 'itau'.freeze
|
|
187
|
+
|
|
188
|
+
# Multibanco allows Portuguese shoppers to do payments through the Internet by using virtual credit cards
|
|
189
|
+
MULTIBANCO = 'multibanco'.freeze
|
|
190
|
+
|
|
191
|
+
# My Bank is an overlay banking system
|
|
192
|
+
MY_BANK = 'my_bank'.freeze
|
|
193
|
+
|
|
194
|
+
# Naranja is a local credit card issued in Argentina which can be used for purchases over the internet.
|
|
195
|
+
NARANJA = 'naranja'.freeze
|
|
196
|
+
|
|
197
|
+
# Nativa is an Argentinian credit card provided by the National Bank of Argentina.
|
|
198
|
+
NATIVA = 'nativa'.freeze
|
|
199
|
+
|
|
200
|
+
# Neosurf is a prepaid card (voucher) that is used for online shopping. The card is available in over 100,000
|
|
201
|
+
# stores worldwide, where customers can buy the prepaid vouchers, denominated up to EUR 250.00 or
|
|
202
|
+
# its equivalent in other currencies.
|
|
203
|
+
NEOSURF = 'neosurf'.freeze
|
|
204
|
+
|
|
205
|
+
# Neteller
|
|
206
|
+
NETELLER = 'neteller'.freeze
|
|
207
|
+
|
|
208
|
+
# Online Banking is an oBeP-style alternative payment method that allows you to pay directly
|
|
209
|
+
# with your ebank account. After initiating a transaction, the online banking will redirect you to their page.
|
|
210
|
+
# There you will find a list with available banks to finish the payment.
|
|
211
|
+
ONLINE_BANKING_PAYIN = 'online_banking'.freeze
|
|
212
|
+
|
|
213
|
+
# Bank Pay-out is a bank pay-out method. It allows merchants to transfer funds directly to customers’
|
|
214
|
+
# bank accounts.
|
|
215
|
+
ONLINE_BANKING_PAYOUT = 'bank_payout'.freeze
|
|
216
|
+
|
|
217
|
+
# OXXO is the preferred payment method in Mexico. It is a cash payment via a barcode document
|
|
218
|
+
# thats accepted in more than 14,000 stores.
|
|
219
|
+
OXXO = 'oxxo'.freeze
|
|
220
|
+
|
|
221
|
+
# P24 is an online banking payment, popular in Poland
|
|
222
|
+
P24 = 'p24'.freeze
|
|
223
|
+
|
|
224
|
+
# Pago Facil is a payment service in Argentina that allows its users to send money,
|
|
225
|
+
# top up their cell phone and payments.
|
|
226
|
+
PAGO_FACIL = 'pago_facil'.freeze
|
|
227
|
+
|
|
228
|
+
# Partial reversal transactions are used in preauthorization workflow to release a part of the
|
|
229
|
+
# total authorized amount before a partial capture to be submitted. A transaction of this type
|
|
230
|
+
# should refer the preauthorization directly.
|
|
231
|
+
PARTIAL_REVERSAL = 'partial_reversal'.freeze
|
|
232
|
+
|
|
233
|
+
# PayByVouchers via oBeP
|
|
234
|
+
# @deprecated Payment method is deprecated and will be removed
|
|
235
|
+
PAYBYVOUCHER_YEEPAY = 'paybyvoucher_yeepay'.freeze
|
|
236
|
+
|
|
237
|
+
# Payouts transactions
|
|
238
|
+
PAYOUT = 'payout'.freeze
|
|
239
|
+
|
|
240
|
+
# Voucher-based payment
|
|
241
|
+
PAYSAFECARD = 'paysafecard'.freeze
|
|
242
|
+
|
|
243
|
+
# PayU is a payment method for Czech Republic and Poland
|
|
244
|
+
PAYU = 'payu'.freeze
|
|
245
|
+
|
|
246
|
+
# PayPal transaction is a fast and easy way for buyers to pay with their PayPal account.
|
|
247
|
+
# It gives buyers all the transaction details at once, including order details, shipping options,
|
|
248
|
+
# insurance choices, and tax totals.
|
|
249
|
+
PAY_PAL = 'pay_pal'.freeze
|
|
250
|
+
|
|
251
|
+
# Pix is a payment service created by the Central Bank of Brazil (BACEN),
|
|
252
|
+
# which represents a new way of receiving/sending money. Pix allows payments
|
|
253
|
+
# to be made instantly. The customer can pay bills, invoices, public utilities,
|
|
254
|
+
# transfer and receive credits in a facilitated manner, using only Pix keys (CPF/CNPJ).
|
|
255
|
+
PIX = 'pix'.freeze
|
|
256
|
+
|
|
257
|
+
# POLi is Australia's most popular online real time debit payment system.
|
|
258
|
+
POLI = 'poli'.freeze
|
|
259
|
+
|
|
260
|
+
# PostFinance is an online banking provider in Switzerland
|
|
261
|
+
POST_FINANCE = 'post_finance'.freeze
|
|
262
|
+
|
|
263
|
+
# Supports payments via EPS, SafetyPay, TrustPay, ELV, Przelewy24, and GiroPay
|
|
264
|
+
PPRO = 'ppro'.freeze
|
|
265
|
+
|
|
266
|
+
# PSE (Pagos Seguros en Linea) is the preferred alternative payment solution in Colombia.
|
|
267
|
+
# The solution consists of an interface that offers the client the option to pay for their online purchases
|
|
268
|
+
# in cash, directing it to their online banking.
|
|
269
|
+
PSE = 'pse'.freeze
|
|
270
|
+
|
|
271
|
+
# RapiPago from Argentina is an offline payment method used for online purchases.
|
|
272
|
+
# Shoppers buy their goods and services online and pay offline at one of the 6,000+ RapiPago
|
|
273
|
+
# payment locations.
|
|
274
|
+
RAPI_PAGO = 'rapi_pago'.freeze
|
|
275
|
+
|
|
276
|
+
# A RecurringSale transaction is a "repeated" transaction which follows and references an initial transaction
|
|
277
|
+
# @deprecated Since 0.1.0 Payment method is deprecated and will be removed
|
|
278
|
+
RECURRING_SALE = 'recurring_sale'.freeze
|
|
279
|
+
|
|
280
|
+
# Redpagos is a cash payment in Uruguay
|
|
281
|
+
REDPAGOS = 'redpagos'.freeze
|
|
282
|
+
|
|
283
|
+
# Refunds allow to return already billed amounts to customers.
|
|
284
|
+
REFUND = 'refund'.freeze
|
|
285
|
+
|
|
286
|
+
# Russian Mobile Payout, or otherwise known as Disbursement, is an APM used to process Mobile network operator
|
|
287
|
+
# payments. It is an async payment method and will be approved once the payment is processed by the
|
|
288
|
+
# Mobile network operator. Notice: Russian Mobile Payout does not support refund and void.
|
|
289
|
+
RUSSIAN_MOBILE_PAYOUT = 'russian_mobile_payout'.freeze
|
|
290
|
+
|
|
291
|
+
# Russian Mobile Sale, otherwise known as Charge, is an APM used to process Mobile network operator payments.
|
|
292
|
+
# It is an async payment method and will be approved once the payment is processed by the Mobile network
|
|
293
|
+
# operator.
|
|
294
|
+
# Notice: Russian Mobile Sale does not support refund and void.
|
|
295
|
+
RUSSIAN_MOBILE_SALE = 'russian_mobile_sale'.freeze
|
|
296
|
+
|
|
297
|
+
# Safetypay is a real-time bank transfer system that operates in more than 10 different countries.
|
|
298
|
+
# Their main market is in Latin America.
|
|
299
|
+
SAFETYPAY = 'safetypay'.freeze
|
|
300
|
+
|
|
301
|
+
# A standard Sale
|
|
302
|
+
SALE = 'sale'.freeze
|
|
303
|
+
|
|
304
|
+
# 3D-Secure Sale
|
|
305
|
+
SALE_3D = 'sale3d'.freeze
|
|
306
|
+
|
|
307
|
+
# Santander is an online bank transfer for ecommerce purchases. Consumers use their trusted home
|
|
308
|
+
# banking environment, merchants benefit from payment guarantee and swift settlement.
|
|
309
|
+
SANTANDER = 'santander'.freeze
|
|
310
|
+
|
|
311
|
+
# Sepa Direct Debit Payout, popular in Germany.
|
|
312
|
+
# Processed as a SEPA CreditTransfer and can be used for all kind of payout services across the EU with 1 day
|
|
313
|
+
# settlement. Suitable for Gaming, Forex-Binaries, Affiliate Programs or Merchant payouts
|
|
314
|
+
SCT_PAYOUT = 'sct_payout'.freeze
|
|
315
|
+
|
|
316
|
+
# Sepa Direct Debit initial recurring
|
|
317
|
+
SDD_INIT_RECURRING_SALE = 'sdd_init_recurring_sale'.freeze
|
|
318
|
+
|
|
319
|
+
# Sepa Direct Debit RecurringSale transaction is a "repeated" transaction,
|
|
320
|
+
# which follows and references an SDD initial transaction
|
|
321
|
+
SDD_RECURRING_SALE = 'sdd_recurring_sale'.freeze
|
|
322
|
+
|
|
323
|
+
# Sepa Direct Debit Refund Transaction.
|
|
324
|
+
# Refunds allow to return already billed amounts to customers.
|
|
325
|
+
SDD_REFUND = 'sdd_refund'.freeze
|
|
326
|
+
|
|
327
|
+
# Sepa Direct Debit Payment, popular in Germany.
|
|
328
|
+
# Single Euro Payments Area (SEPA) allows consumers to make cashless Euro payments to
|
|
329
|
+
# any beneficiary located anywhere in the Euro area using only a single bank account
|
|
330
|
+
SDD_SALE = 'sdd_sale'.freeze
|
|
331
|
+
|
|
332
|
+
# Bank transfer payment, popular in Germany
|
|
333
|
+
SOFORT = 'sofort'.freeze
|
|
334
|
+
|
|
335
|
+
# Tarjeta Shopping is a cash payment in Argentina.
|
|
336
|
+
TARJETA_SHOPPING = 'tarjeta_shopping'.freeze
|
|
337
|
+
|
|
338
|
+
# TCS Thecontainerstore transactions are made using gift cards provided by TCS The amount from a
|
|
339
|
+
# Container Store Transactions is immediately billed to the customer’s gift card.
|
|
340
|
+
# It can be reversed via a void transaction.
|
|
341
|
+
TCS = 'container_store'.freeze
|
|
342
|
+
|
|
343
|
+
# TransferTo Payout is an APM which provides 3 different payment services:
|
|
344
|
+
# BankAccount, MobileWallet and CashPickup. Merchant sends money to a consumer.
|
|
345
|
+
TRANSFER_TO_PAYOUT = 'transfer_to_payout'.freeze
|
|
346
|
+
|
|
347
|
+
# Trustly is a fast and secure oBeP-style alternative payment method. It is free of charge and
|
|
348
|
+
# allows you to deposit money directly from your online bank account.
|
|
349
|
+
TRUSTLY_SALE = 'trustly_sale'.freeze
|
|
350
|
+
|
|
351
|
+
# UPI (Unified Payment Interface) transaction is an alternative payment method
|
|
352
|
+
# which allows users to transfer money between bank accounts.
|
|
353
|
+
UPI = 'upi'.freeze
|
|
354
|
+
|
|
355
|
+
# Void transactions undo previous transactions.
|
|
356
|
+
VOID = 'void'.freeze
|
|
357
|
+
|
|
358
|
+
# WebMoney is a global settlement system and environment for online business activities.
|
|
359
|
+
WEBMONEY = 'webmoney'.freeze
|
|
360
|
+
|
|
361
|
+
# Webpay is a Chilean real-time bank transfer method.
|
|
362
|
+
WEBPAY = 'webpay'.freeze
|
|
363
|
+
|
|
364
|
+
# WeChat Pay solution offers merchants access to the over 300 million WeChat users that have linked payment
|
|
365
|
+
# to their WeChat account. The solution works on desktop and mobile via a QR code generation platform.
|
|
366
|
+
WECHAT = 'wechat'.freeze
|
|
367
|
+
|
|
368
|
+
end
|
|
369
|
+
end
|
|
370
|
+
end
|
|
371
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require 'genesis_ruby/utils/common'
|
|
2
|
+
|
|
3
|
+
module GenesisRuby
|
|
4
|
+
module Api
|
|
5
|
+
module Mixins
|
|
6
|
+
module Constants
|
|
7
|
+
# Common method between all Constant classes
|
|
8
|
+
# use extend to add methods below to a specific module
|
|
9
|
+
module Common
|
|
10
|
+
|
|
11
|
+
# Get all defined constant values
|
|
12
|
+
def all
|
|
13
|
+
GenesisRuby::Utils::Common.constant_values(self)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Validate given value against all available constant values
|
|
17
|
+
def valid?(value, strict: false)
|
|
18
|
+
value = value.downcase if !strict && value.is_a?(String)
|
|
19
|
+
|
|
20
|
+
all.include?(value)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
require 'genesis_ruby/api/mixins/requests/customer_address/billing_info_attributes'
|
|
2
|
+
require 'genesis_ruby/api/mixins/requests/customer_address/shipping_info_attributes'
|
|
3
|
+
require 'genesis_ruby/api/mixins/requests/customer_address/customer_info_attributes'
|
|
4
|
+
|
|
5
|
+
module GenesisRuby
|
|
6
|
+
module Api
|
|
7
|
+
module Mixins
|
|
8
|
+
module Requests
|
|
9
|
+
# Mixin Address Info Attributes
|
|
10
|
+
module AddressInfoAttributes
|
|
11
|
+
|
|
12
|
+
include CustomerAddress::BillingInfoAttributes
|
|
13
|
+
include CustomerAddress::ShippingInfoAttributes
|
|
14
|
+
include CustomerAddress::CustomerInfoAttributes
|
|
15
|
+
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module GenesisRuby
|
|
2
|
+
module Api
|
|
3
|
+
module Mixins
|
|
4
|
+
module Requests
|
|
5
|
+
module CustomerAddress
|
|
6
|
+
# Mixin BillingInfoAttributes
|
|
7
|
+
module BillingInfoAttributes
|
|
8
|
+
|
|
9
|
+
attr_accessor :billing_first_name, :billing_last_name, :billing_address1, :billing_address2,
|
|
10
|
+
:billing_zip_code, :billing_city, :billing_state, :billing_country
|
|
11
|
+
|
|
12
|
+
protected
|
|
13
|
+
|
|
14
|
+
# Build Hash with all parameters
|
|
15
|
+
def billing_address_parameters_structure
|
|
16
|
+
{
|
|
17
|
+
first_name: billing_first_name,
|
|
18
|
+
last_name: billing_last_name,
|
|
19
|
+
address1: billing_address1,
|
|
20
|
+
address2: billing_address2,
|
|
21
|
+
zip_code: billing_zip_code,
|
|
22
|
+
city: billing_city,
|
|
23
|
+
state: billing_state,
|
|
24
|
+
country: billing_country
|
|
25
|
+
}
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|