mangopay-v4 4.0.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/.gitignore +30 -0
- data/.rspec +4 -0
- data/.rubocop.yml +2 -0
- data/.travis.yml +13 -0
- data/Gemfile +2 -0
- data/LICENSE +20 -0
- data/README.md +380 -0
- data/bin/mangopay +9 -0
- data/lib/mangopay.rb +133 -0
- data/lib/mangopay/api/api.rb +9 -0
- data/lib/mangopay/api/api_methods.rb +137 -0
- data/lib/mangopay/api/auth_token_manager.rb +173 -0
- data/lib/mangopay/api/http_client.rb +325 -0
- data/lib/mangopay/api/service/bank_accounts.rb +146 -0
- data/lib/mangopay/api/service/cards.rb +152 -0
- data/lib/mangopay/api/service/client_wallets.rb +89 -0
- data/lib/mangopay/api/service/clients.rb +68 -0
- data/lib/mangopay/api/service/dispute_documents.rb +158 -0
- data/lib/mangopay/api/service/disputes.rb +187 -0
- data/lib/mangopay/api/service/e_money.rb +42 -0
- data/lib/mangopay/api/service/events.rb +47 -0
- data/lib/mangopay/api/service/hooks.rb +93 -0
- data/lib/mangopay/api/service/kyc_documents.rb +153 -0
- data/lib/mangopay/api/service/mandates.rb +142 -0
- data/lib/mangopay/api/service/oauth_tokens.rb +25 -0
- data/lib/mangopay/api/service/pay_ins.rb +260 -0
- data/lib/mangopay/api/service/pay_outs.rb +54 -0
- data/lib/mangopay/api/service/pre_authorizations.rb +69 -0
- data/lib/mangopay/api/service/refunds.rb +62 -0
- data/lib/mangopay/api/service/reports.rb +151 -0
- data/lib/mangopay/api/service/repudiations.rb +32 -0
- data/lib/mangopay/api/service/responses.rb +102 -0
- data/lib/mangopay/api/service/settlement_transfers.rb +55 -0
- data/lib/mangopay/api/service/transactions.rb +183 -0
- data/lib/mangopay/api/service/transfers.rb +54 -0
- data/lib/mangopay/api/service/ubo_declarations.rb +70 -0
- data/lib/mangopay/api/service/users.rb +163 -0
- data/lib/mangopay/api/service/wallets.rb +99 -0
- data/lib/mangopay/api/uri_provider.rb +35 -0
- data/lib/mangopay/common/json_tag_converter.rb +68 -0
- data/lib/mangopay/common/jsonifier.rb +249 -0
- data/lib/mangopay/common/log_provider.rb +34 -0
- data/lib/mangopay/common/rate_limit_interval.rb +17 -0
- data/lib/mangopay/common/read_only_fields.rb +27 -0
- data/lib/mangopay/common/response_error.rb +61 -0
- data/lib/mangopay/common/sort_direction.rb +15 -0
- data/lib/mangopay/common/sort_field.rb +13 -0
- data/lib/mangopay/common/template_url_options.rb +9 -0
- data/lib/mangopay/configuration.rb +39 -0
- data/lib/mangopay/environment.rb +66 -0
- data/lib/mangopay/model/address.rb +27 -0
- data/lib/mangopay/model/declared_ubo.rb +21 -0
- data/lib/mangopay/model/dispute_reason.rb +15 -0
- data/lib/mangopay/model/document_page_consult.rb +15 -0
- data/lib/mangopay/model/e_money.rb +18 -0
- data/lib/mangopay/model/entity/account/bank_account.rb +26 -0
- data/lib/mangopay/model/entity/account/ca_bank_account.rb +27 -0
- data/lib/mangopay/model/entity/account/gb_bank_account.rb +21 -0
- data/lib/mangopay/model/entity/account/iban_bank_account.rb +21 -0
- data/lib/mangopay/model/entity/account/other_bank_account.rb +24 -0
- data/lib/mangopay/model/entity/account/us_bank_account.rb +24 -0
- data/lib/mangopay/model/entity/card.rb +45 -0
- data/lib/mangopay/model/entity/card_registration.rb +43 -0
- data/lib/mangopay/model/entity/client.rb +63 -0
- data/lib/mangopay/model/entity/client_wallet.rb +23 -0
- data/lib/mangopay/model/entity/dispute.rb +50 -0
- data/lib/mangopay/model/entity/dispute_document.rb +29 -0
- data/lib/mangopay/model/entity/entity_base.rb +18 -0
- data/lib/mangopay/model/entity/hook.rb +26 -0
- data/lib/mangopay/model/entity/kyc_document.rb +28 -0
- data/lib/mangopay/model/entity/mandate.rb +51 -0
- data/lib/mangopay/model/entity/pay_in/bank_wire_direct_pay_in.rb +22 -0
- data/lib/mangopay/model/entity/pay_in/card_direct_pay_in.rb +33 -0
- data/lib/mangopay/model/entity/pay_in/card_pre_authorized_pay_in.rb +13 -0
- data/lib/mangopay/model/entity/pay_in/card_web_pay_in.rb +40 -0
- data/lib/mangopay/model/entity/pay_in/direct_debit_direct_pay_in.rb +23 -0
- data/lib/mangopay/model/entity/pay_in/direct_debit_web_pay_in.rb +38 -0
- data/lib/mangopay/model/entity/pay_in/pay_in.rb +16 -0
- data/lib/mangopay/model/entity/pay_out.rb +22 -0
- data/lib/mangopay/model/entity/pre_authorization.rb +68 -0
- data/lib/mangopay/model/entity/refund.rb +18 -0
- data/lib/mangopay/model/entity/report.rb +51 -0
- data/lib/mangopay/model/entity/repudiation.rb +18 -0
- data/lib/mangopay/model/entity/settlement_transfer.rb +17 -0
- data/lib/mangopay/model/entity/transaction.rb +52 -0
- data/lib/mangopay/model/entity/transfer.rb +13 -0
- data/lib/mangopay/model/entity/ubo_declaration.rb +32 -0
- data/lib/mangopay/model/entity/user/legal_user.rb +53 -0
- data/lib/mangopay/model/entity/user/natural_user.rb +50 -0
- data/lib/mangopay/model/entity/user/user.rb +18 -0
- data/lib/mangopay/model/entity/wallet.rb +28 -0
- data/lib/mangopay/model/enum/account_type.rb +24 -0
- data/lib/mangopay/model/enum/card_status.rb +15 -0
- data/lib/mangopay/model/enum/card_type.rb +33 -0
- data/lib/mangopay/model/enum/card_validity.rb +19 -0
- data/lib/mangopay/model/enum/country_iso.rb +759 -0
- data/lib/mangopay/model/enum/culture_code.rb +44 -0
- data/lib/mangopay/model/enum/currency_iso.rb +552 -0
- data/lib/mangopay/model/enum/declared_ubo_refused_reason_type.rb +16 -0
- data/lib/mangopay/model/enum/declared_ubo_status.rb +18 -0
- data/lib/mangopay/model/enum/deposit_type.rb +15 -0
- data/lib/mangopay/model/enum/direct_debit_type.rb +13 -0
- data/lib/mangopay/model/enum/dispute_doc_refused_reason_type.rb +25 -0
- data/lib/mangopay/model/enum/dispute_document_type.rb +23 -0
- data/lib/mangopay/model/enum/dispute_reason_type.rb +33 -0
- data/lib/mangopay/model/enum/dispute_status.rb +21 -0
- data/lib/mangopay/model/enum/dispute_type.rb +15 -0
- data/lib/mangopay/model/enum/document_status.rb +21 -0
- data/lib/mangopay/model/enum/download_format.rb +11 -0
- data/lib/mangopay/model/enum/event_type.rb +74 -0
- data/lib/mangopay/model/enum/funds_type.rb +15 -0
- data/lib/mangopay/model/enum/hook_status.rb +13 -0
- data/lib/mangopay/model/enum/hook_validity.rb +15 -0
- data/lib/mangopay/model/enum/income_range.rb +21 -0
- data/lib/mangopay/model/enum/kyc_doc_refused_reason_type.rb +37 -0
- data/lib/mangopay/model/enum/kyc_document_type.rb +19 -0
- data/lib/mangopay/model/enum/kyc_level.rb +13 -0
- data/lib/mangopay/model/enum/legal_person_type.rb +15 -0
- data/lib/mangopay/model/enum/mandate_culture_code.rb +23 -0
- data/lib/mangopay/model/enum/mandate_execution_type.rb +11 -0
- data/lib/mangopay/model/enum/mandate_scheme.rb +13 -0
- data/lib/mangopay/model/enum/mandate_status.rb +24 -0
- data/lib/mangopay/model/enum/mandate_type.rb +11 -0
- data/lib/mangopay/model/enum/natural_user_capacity.rb +15 -0
- data/lib/mangopay/model/enum/pay_in_execution_type.rb +18 -0
- data/lib/mangopay/model/enum/pay_in_payment_type.rb +21 -0
- data/lib/mangopay/model/enum/pay_out_payment_type.rb +11 -0
- data/lib/mangopay/model/enum/payment_status.rb +21 -0
- data/lib/mangopay/model/enum/person_type.rb +15 -0
- data/lib/mangopay/model/enum/platform_type.rb +23 -0
- data/lib/mangopay/model/enum/pre_authorization_execution_type.rb +11 -0
- data/lib/mangopay/model/enum/pre_authorization_status.rb +18 -0
- data/lib/mangopay/model/enum/refund_reason_type.rb +21 -0
- data/lib/mangopay/model/enum/report_status.rb +17 -0
- data/lib/mangopay/model/enum/report_type.rb +13 -0
- data/lib/mangopay/model/enum/secure_mode.rb +16 -0
- data/lib/mangopay/model/enum/transaction_nature.rb +17 -0
- data/lib/mangopay/model/enum/transaction_status.rb +15 -0
- data/lib/mangopay/model/enum/transaction_type.rb +15 -0
- data/lib/mangopay/model/enum/ubo_declaration_refused_reason_type.rb +19 -0
- data/lib/mangopay/model/enum/ubo_declaration_status.rb +21 -0
- data/lib/mangopay/model/event.rb +18 -0
- data/lib/mangopay/model/model.rb +194 -0
- data/lib/mangopay/model/money.rb +17 -0
- data/lib/mangopay/model/pay_in_web_extended_view.rb +31 -0
- data/lib/mangopay/model/refund_reason.rb +15 -0
- data/lib/mangopay/model/report_filter.rb +83 -0
- data/lib/mangopay/model/request/cancel_request.rb +16 -0
- data/lib/mangopay/model/request/complete_registration_request.rb +13 -0
- data/lib/mangopay/model/request/currency_request.rb +13 -0
- data/lib/mangopay/model/request/deactivation_request.rb +10 -0
- data/lib/mangopay/model/request/filter_request.rb +38 -0
- data/lib/mangopay/model/request/submit_document_request.rb +14 -0
- data/lib/mangopay/model/request/submit_ubo_declaration_request.rb +14 -0
- data/lib/mangopay/model/request/upload_file_request.rb +9 -0
- data/lib/mangopay/model/response_replica.rb +27 -0
- data/lib/mangopay/util/custom_formatter.rb +12 -0
- data/lib/mangopay/util/custom_logger.rb +34 -0
- data/lib/mangopay/util/enum.rb +52 -0
- data/lib/mangopay/util/file_encoder.rb +16 -0
- data/lib/mangopay/util/non_instantiable.rb +6 -0
- data/lib/mangopay/util/storage_strategy.rb +10 -0
- data/lib/mangopay/util/void_logger.rb +6 -0
- data/mangopay.gemspec +32 -0
- data/spec/context/address_context.rb +25 -0
- data/spec/context/bank_account_context.rb +138 -0
- data/spec/context/card_context.rb +46 -0
- data/spec/context/client_context.rb +45 -0
- data/spec/context/dispute_context.rb +37 -0
- data/spec/context/dispute_document_context.rb +20 -0
- data/spec/context/hook_context.rb +16 -0
- data/spec/context/kyc_document_context.rb +23 -0
- data/spec/context/mandate_context.rb +27 -0
- data/spec/context/pay_in_context.rb +225 -0
- data/spec/context/pay_out_context.rb +39 -0
- data/spec/context/pre_authorization_context.rb +41 -0
- data/spec/context/refund_context.rb +33 -0
- data/spec/context/report_context.rb +22 -0
- data/spec/context/repudiation_context.rb +19 -0
- data/spec/context/settlement_transfer_context.rb +28 -0
- data/spec/context/transfer_context.rb +51 -0
- data/spec/context/ubo_declaration_context.rb +25 -0
- data/spec/context/user_context.rb +83 -0
- data/spec/context/wallet_context.rb +53 -0
- data/spec/mangopay/bank_accounts_spec.rb +229 -0
- data/spec/mangopay/cards_spec.rb +135 -0
- data/spec/mangopay/client_wallets_spec.rb +148 -0
- data/spec/mangopay/clients_spec.rb +55 -0
- data/spec/mangopay/configuration_spec.rb +126 -0
- data/spec/mangopay/dispute_documents_spec.rb +174 -0
- data/spec/mangopay/disputes_spec.rb +265 -0
- data/spec/mangopay/e_money_spec.rb +38 -0
- data/spec/mangopay/events_spec.rb +50 -0
- data/spec/mangopay/hooks_spec.rb +71 -0
- data/spec/mangopay/kyc_documents_spec.rb +180 -0
- data/spec/mangopay/mandates_spec.rb +219 -0
- data/spec/mangopay/oauth_tokens_spec.rb +41 -0
- data/spec/mangopay/pay_ins_spec.rb +181 -0
- data/spec/mangopay/pay_outs_spec.rb +39 -0
- data/spec/mangopay/pre_authorizations_spec.rb +58 -0
- data/spec/mangopay/refunds_spec.rb +40 -0
- data/spec/mangopay/reports_spec.rb +121 -0
- data/spec/mangopay/responses_spec.rb +295 -0
- data/spec/mangopay/settlement_transfers_spec.rb +37 -0
- data/spec/mangopay/transactions_spec.rb +233 -0
- data/spec/mangopay/transfers_spec.rb +38 -0
- data/spec/mangopay/ubo_declarations_spec.rb +65 -0
- data/spec/mangopay/users_spec.rb +146 -0
- data/spec/mangopay/wallets_spec.rb +104 -0
- data/spec/resources/logo.png +0 -0
- data/spec/resources/test_pdf.pdf +0 -0
- data/spec/spec_helper.rb +72 -0
- metadata +349 -0
@@ -0,0 +1,22 @@
|
|
1
|
+
require_relative '../../../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Bank Wire Direct Pay-In entity
|
6
|
+
# A Bank Wire Pay-In is a request to process a payment by bank wire
|
7
|
+
class BankWireDirectPayIn < PayIn
|
8
|
+
include MangoPay::Jsonifier
|
9
|
+
|
10
|
+
# [Money] The declared debited funds
|
11
|
+
attr_accessor :declared_debited_funds
|
12
|
+
|
13
|
+
# [Money] The declared fees
|
14
|
+
attr_accessor :declared_fees
|
15
|
+
|
16
|
+
# [String] Wire reference
|
17
|
+
attr_accessor :wire_reference
|
18
|
+
|
19
|
+
# [BankAccount] The bank account details
|
20
|
+
attr_accessor :bank_account
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require_relative 'pay_in'
|
2
|
+
require_relative '../../../common/jsonifier'
|
3
|
+
|
4
|
+
module MangoModel
|
5
|
+
|
6
|
+
# Card Direct Pay In entity
|
7
|
+
# The Card Direct Pay In object lets you pay with a registered card.
|
8
|
+
class CardDirectPayIn < PayIn
|
9
|
+
include MangoPay::Jsonifier
|
10
|
+
|
11
|
+
# [String] URL which users are automatically redirected to
|
12
|
+
# after 3D secure validation (if activated)
|
13
|
+
attr_accessor :secure_mode_return_url
|
14
|
+
|
15
|
+
# [CardType] ID of the card
|
16
|
+
attr_accessor :card_id
|
17
|
+
|
18
|
+
# [SecureMode] The Secure Mode Corresponds to '3D secure' for CB Visa and
|
19
|
+
# Mastercard. This field allows manual activation.
|
20
|
+
attr_accessor :secure_mode
|
21
|
+
|
22
|
+
# [String] Custom description to appear on the user's bank statement.
|
23
|
+
# (max 100 alphanumeric/spaces)
|
24
|
+
attr_accessor :statement_descriptor
|
25
|
+
|
26
|
+
# [true/false] Whether the Secure Mode was used
|
27
|
+
attr_accessor :secure_mode_needed
|
28
|
+
|
29
|
+
# [String] The URL where to redirect users to proceed to
|
30
|
+
# 3D secure validation
|
31
|
+
attr_accessor :secure_mode_redirect_url
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require_relative '../../../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Allows payment through a card for which the action has
|
6
|
+
# been pre-authorized
|
7
|
+
class CardPreAuthorizedPayIn < PayIn
|
8
|
+
include MangoPay::Jsonifier
|
9
|
+
|
10
|
+
# [String] ID of the corresponding pre-authorization
|
11
|
+
attr_accessor :preauthorization_id
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require_relative 'pay_in'
|
2
|
+
require_relative '../../../common/jsonifier'
|
3
|
+
|
4
|
+
module MangoModel
|
5
|
+
|
6
|
+
# Card Web Pay-In entity
|
7
|
+
# A Pay In by card and via web interface is a request
|
8
|
+
# to process a payment to a wallet for a dedicated user.
|
9
|
+
class CardWebPayIn < PayIn
|
10
|
+
include MangoPay::Jsonifier
|
11
|
+
|
12
|
+
# [String] URL to redirect to after payment
|
13
|
+
attr_accessor :return_url
|
14
|
+
|
15
|
+
# [CardType] The type of card
|
16
|
+
attr_accessor :card_type
|
17
|
+
|
18
|
+
# [SecureMode] The Secure Mode Corresponds to '3D secure' for CB Visa and
|
19
|
+
# Mastercard. This field allows manual activation.
|
20
|
+
attr_accessor :secure_mode
|
21
|
+
|
22
|
+
# [CultureCode] The language to use for the payment page
|
23
|
+
attr_accessor :culture
|
24
|
+
|
25
|
+
# [String] The URL to use for the payment page template
|
26
|
+
attr_accessor :template_url
|
27
|
+
|
28
|
+
# [TemplateUrlOptions] An URL to an SSL page to allow customization
|
29
|
+
# of the payment page
|
30
|
+
attr_accessor :template_url_options
|
31
|
+
|
32
|
+
# [String] Custom description to appear on the user's bank statement.
|
33
|
+
# (max 100 alphanumeric/spaces)
|
34
|
+
attr_accessor :statement_descriptor
|
35
|
+
|
36
|
+
# [String] The URL to redirect the user to for them to proceed
|
37
|
+
# with the payment
|
38
|
+
attr_accessor :redirect_url
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require_relative '../../../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Direct-Debit Direct Pay-In entity
|
6
|
+
# A Pay-In by Direct Debit with a Mandate is a request to process a
|
7
|
+
# payment to a wallet for a dedicated user
|
8
|
+
class DirectDebitDirectPayIn < PayIn
|
9
|
+
include MangoPay::Jsonifier
|
10
|
+
|
11
|
+
# [String] ID of the mandate
|
12
|
+
attr_accessor :mandate_id
|
13
|
+
|
14
|
+
# [Integer] Date when the user will be charged (UNIX timestamp)
|
15
|
+
# Note: For Direct-Debit payments, it will take one more day
|
16
|
+
# before the payment becomes successful.
|
17
|
+
attr_accessor :charge_date
|
18
|
+
|
19
|
+
# [String] A custom description to appear on the user's bank statement.
|
20
|
+
# (max 100 alphanumeric/spaces, available only for SEPA payments)
|
21
|
+
attr_accessor :statement_descriptor
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require_relative '../../../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Direct-Debit Web Pay-In entity
|
6
|
+
# A Pay-In by Direct Debit and via Web is a request to process
|
7
|
+
# a payment to a wallet for a dedicated user
|
8
|
+
class DirectDebitWebPayIn < PayIn
|
9
|
+
include MangoPay::Jsonifier
|
10
|
+
|
11
|
+
# [String] URL to redirect to after payment
|
12
|
+
attr_accessor :return_url
|
13
|
+
|
14
|
+
# [DirectDebitType] Type of web direct debit
|
15
|
+
attr_accessor :direct_debit_type
|
16
|
+
|
17
|
+
# [CardType] The type of card
|
18
|
+
attr_accessor :card_type
|
19
|
+
|
20
|
+
# [SecureMode] The Secure Mode Corresponds to '3D secure' for CB Visa and
|
21
|
+
# Mastercard. This field allows manual activation.
|
22
|
+
attr_accessor :secure_mode
|
23
|
+
|
24
|
+
# [CultureCode] The language to use for the payment page
|
25
|
+
attr_accessor :culture
|
26
|
+
|
27
|
+
# [String] The URL to use for the payment page template
|
28
|
+
attr_accessor :template_url
|
29
|
+
|
30
|
+
# [TemplateUrlOptions] An URL to an SSL page to allow customization
|
31
|
+
# of the payment page
|
32
|
+
attr_accessor :template_url_options
|
33
|
+
|
34
|
+
# [String] URL which to redirect user to in order to proceed
|
35
|
+
# with the payment
|
36
|
+
attr_accessor :redirect_url
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require_relative '../transaction'
|
2
|
+
require_relative '../../../util/non_instantiable'
|
3
|
+
|
4
|
+
module MangoModel
|
5
|
+
|
6
|
+
# Pay In entity
|
7
|
+
class PayIn < Transaction
|
8
|
+
extend NonInstantiable
|
9
|
+
|
10
|
+
# [PayInPaymentType] Its type
|
11
|
+
attr_accessor :payment_type
|
12
|
+
|
13
|
+
# [PayInExecutionType] Its execution type
|
14
|
+
attr_accessor :execution_type
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require_relative 'transaction'
|
2
|
+
require_relative '../../common/jsonifier'
|
3
|
+
|
4
|
+
module MangoModel
|
5
|
+
|
6
|
+
# Pay-Out entity
|
7
|
+
# A Pay-Out bank-wire is a request to withdraw money from a wallet
|
8
|
+
# to a bank account.
|
9
|
+
class PayOut < Transaction
|
10
|
+
include MangoPay::Jsonifier
|
11
|
+
|
12
|
+
# [String] ID of the bank account
|
13
|
+
attr_accessor :bank_account_id
|
14
|
+
|
15
|
+
# [String] A custom reference to be present on the user's bank
|
16
|
+
# statement along with environment's Client name (max 12 chars)
|
17
|
+
attr_accessor :bank_wire_ref
|
18
|
+
|
19
|
+
# [PayOutPaymentType] Its type
|
20
|
+
attr_accessor :payment_type
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
require_relative '../../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Pre-Authorization entity
|
6
|
+
# The Pre-Authorization object ensures the solvency of a
|
7
|
+
# registered card for 7 days.
|
8
|
+
#
|
9
|
+
# The overall process is as follows:
|
10
|
+
# Register a card (CardRegistration)
|
11
|
+
# Create a PreAuthorization with the CardId. This allows you to charge an amount on a card
|
12
|
+
# Charge the card through the PreAuthorized PayIn object (Payins/preauthorized/direct)
|
13
|
+
#
|
14
|
+
# How does PreAuthorization work?
|
15
|
+
# Once the PreAuthorization object is created the Status is "CREATED" until 3D secure validation.
|
16
|
+
# If the authorization is successful the status is "SUCCEEDED" if it failed the status is "FAILED".
|
17
|
+
# Once Status = "SUCCEEDED" and PaymentStatus = "WAITING" you can charge the card.
|
18
|
+
# The Pay-In amount has to be less than or equal to the amount authorized.
|
19
|
+
class PreAuthorization < EntityBase
|
20
|
+
include MangoPay::Jsonifier
|
21
|
+
|
22
|
+
# [String] Its authoring user's ID
|
23
|
+
attr_accessor :author_id
|
24
|
+
|
25
|
+
# [Money] Information about the funds being debited
|
26
|
+
attr_accessor :debited_funds
|
27
|
+
|
28
|
+
# [PreAuthorizationStatus] Its status
|
29
|
+
attr_accessor :status
|
30
|
+
|
31
|
+
# [PaymentStatus] Its pre-authorized payment status
|
32
|
+
# Can be set to +CANCELED+ if needed
|
33
|
+
attr_accessor :payment_status
|
34
|
+
|
35
|
+
# [String] Its result code
|
36
|
+
attr_accessor :result_code
|
37
|
+
|
38
|
+
# [String] Explanation of its result
|
39
|
+
attr_accessor :result_message
|
40
|
+
|
41
|
+
# [PreAuthorizationExecutionType] How the pre-authorization was executed
|
42
|
+
attr_accessor :execution_type
|
43
|
+
|
44
|
+
# [SecureMode] The Secure Mode Corresponds to '3D secure' for CB Visa and
|
45
|
+
# Mastercard. This field allows manual activation.
|
46
|
+
attr_accessor :secure_mode
|
47
|
+
|
48
|
+
# [String] ID of the pre-authorized card
|
49
|
+
attr_accessor :card_id
|
50
|
+
|
51
|
+
# [true/false] True if the Secure Mode was used
|
52
|
+
attr_accessor :secure_mode_needed
|
53
|
+
|
54
|
+
# [String] URL which to redirect users to in order to proceed
|
55
|
+
# to 3D secure validation
|
56
|
+
attr_accessor :secure_mode_redirect_url
|
57
|
+
|
58
|
+
# [String] URL which users are automatically redirected to
|
59
|
+
# after 3D secure validation
|
60
|
+
attr_accessor :secure_mode_return_url
|
61
|
+
|
62
|
+
# [Integer] Date by when the payment should be processed (UNIX timestamp)
|
63
|
+
attr_accessor :expiration_date
|
64
|
+
|
65
|
+
# [String] ID of the associated Pay-in
|
66
|
+
attr_accessor :pay_in_id
|
67
|
+
end
|
68
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative '../../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Refund entity
|
6
|
+
class Refund < Transaction
|
7
|
+
include MangoPay::Jsonifier
|
8
|
+
|
9
|
+
# [String] The initial transaction's ID
|
10
|
+
attr_accessor :initial_transaction_id
|
11
|
+
|
12
|
+
# [TransactionType] The initial transaction's type
|
13
|
+
attr_accessor :initial_transaction_type
|
14
|
+
|
15
|
+
# [RefundReason] Info about the reason for refund
|
16
|
+
attr_accessor :refund_reason
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require_relative '../../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Report entity
|
6
|
+
# The Report object enables possibility to download huge lists of
|
7
|
+
# transactions or wallets to CSV form for accounting and analysis
|
8
|
+
# purposes.
|
9
|
+
class Report < EntityBase
|
10
|
+
include MangoPay::Jsonifier
|
11
|
+
|
12
|
+
# [Integer] Time when the report was executed (UNIX timestamp)
|
13
|
+
attr_accessor :report_date
|
14
|
+
|
15
|
+
# [String] URL where the report can be downloaded
|
16
|
+
attr_accessor :download_url
|
17
|
+
|
18
|
+
# [String] URL which MangoPay will ping once the report is ready
|
19
|
+
# to be downloaded (works in a similar way to +Hook+s)
|
20
|
+
attr_accessor :callback_url
|
21
|
+
|
22
|
+
# [DownloadFormat] The format of the downloadable report
|
23
|
+
attr_accessor :download_format
|
24
|
+
|
25
|
+
# [ReportType] The type of report
|
26
|
+
attr_accessor :report_type
|
27
|
+
|
28
|
+
# [ReportStatus] Its status
|
29
|
+
attr_accessor :status
|
30
|
+
|
31
|
+
# [String] The column to sort by and the direction, separated
|
32
|
+
# by a ':' character (i.e. CreationDate:DESC)
|
33
|
+
attr_accessor :sort
|
34
|
+
|
35
|
+
# [true/false] Whether the report should be limited to the first
|
36
|
+
# 10 rows, making its execution faster
|
37
|
+
attr_accessor :preview
|
38
|
+
|
39
|
+
# [ReportFilter] Object which allows filtering of report entries
|
40
|
+
attr_accessor :filters
|
41
|
+
|
42
|
+
# [Array] List of names of the columns to be included in the report
|
43
|
+
attr_accessor :columns
|
44
|
+
|
45
|
+
# [String] The result code
|
46
|
+
attr_accessor :result_code
|
47
|
+
|
48
|
+
# [String] Explanation of the result
|
49
|
+
attr_accessor :result_message
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative '../../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Repudiation entity
|
6
|
+
# A Repudiation is created when a user has requested a chargeback
|
7
|
+
# for a pay-in and the bank has withdrawn the funds from MangoPay
|
8
|
+
# automatically. A repudiation is always linked to a dispute.
|
9
|
+
class Repudiation < Transaction
|
10
|
+
include MangoPay::Jsonifier
|
11
|
+
|
12
|
+
# [String] ID of the initial transaction
|
13
|
+
attr_accessor :initial_transaction_id
|
14
|
+
|
15
|
+
# [TransactionType] Type of the initial transaction
|
16
|
+
attr_accessor :initial_transaction_type
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require_relative 'transfer'
|
2
|
+
require_relative '../../common/jsonifier'
|
3
|
+
|
4
|
+
module MangoModel
|
5
|
+
|
6
|
+
# Settlement Transfer entity
|
7
|
+
# A Settlement Transfer is a transfer that can be used to settle
|
8
|
+
# the credit from a repudiation following a lost dispute (to impact
|
9
|
+
# the balance of the original wallet and settle the credit in your
|
10
|
+
# client credit wallet).
|
11
|
+
class SettlementTransfer < Transfer
|
12
|
+
include MangoPay::Jsonifier
|
13
|
+
|
14
|
+
# [String] ID of the associated repudiation transaction
|
15
|
+
attr_accessor :repudiation_id
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require_relative '../../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Transaction entity
|
6
|
+
# A transaction represents an action to relocate money.
|
7
|
+
class Transaction < EntityBase
|
8
|
+
include MangoPay::Jsonifier
|
9
|
+
|
10
|
+
# [Money] Information about the funds that are being debited
|
11
|
+
attr_accessor :debited_funds
|
12
|
+
|
13
|
+
# [Money] Information about the funds that are being credited
|
14
|
+
# (+DebitedFunds+ - +Fees+ = +Credited_Funds+)
|
15
|
+
attr_accessor :credited_funds
|
16
|
+
|
17
|
+
# [Money] Information about the fees that were taken by the client
|
18
|
+
# for this transaction (and transferred to the client's platform's wallet)
|
19
|
+
attr_accessor :fees
|
20
|
+
|
21
|
+
# [String] ID of the wallet that was debited from
|
22
|
+
attr_accessor :debited_wallet_id
|
23
|
+
|
24
|
+
# [String] ID of the wallet where money will be credited
|
25
|
+
attr_accessor :credited_wallet_id
|
26
|
+
|
27
|
+
# [String] ID of the initiating user
|
28
|
+
attr_accessor :author_id
|
29
|
+
|
30
|
+
# [String] ID of the user who will be credited (defaults
|
31
|
+
# to the owner of the wallet)
|
32
|
+
attr_accessor :credited_user_id
|
33
|
+
|
34
|
+
# [TransactionType] Type of the transaction
|
35
|
+
attr_accessor :type
|
36
|
+
|
37
|
+
# [TransactionNature] Nature of the transaction
|
38
|
+
attr_accessor :nature
|
39
|
+
|
40
|
+
# [TransactionStatus] Status of the transaction
|
41
|
+
attr_accessor :status
|
42
|
+
|
43
|
+
# [Integer] Time of execution of the transaction (UNIX timestamp)
|
44
|
+
attr_accessor :execution_date
|
45
|
+
|
46
|
+
# [String] Its result code
|
47
|
+
attr_accessor :result_code
|
48
|
+
|
49
|
+
# [String] Verbal explanation of the result
|
50
|
+
attr_accessor :result_message
|
51
|
+
end
|
52
|
+
end
|