checkout_sdk 2.7.0 → 2.8.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.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/lib/checkout_sdk/api_client.rb +3 -2
  3. data/lib/checkout_sdk/common/account_holder.rb +78 -1
  4. data/lib/checkout_sdk/common/account_holder_identification.rb +21 -0
  5. data/lib/checkout_sdk/common/common.rb +1 -0
  6. data/lib/checkout_sdk/common/customer_retry.rb +14 -2
  7. data/lib/checkout_sdk/common/residential_status_type.rb +11 -0
  8. data/lib/checkout_sdk/issuing/card_update_headers.rb +11 -12
  9. data/lib/checkout_sdk/issuing/issuing_client.rb +20 -11
  10. data/lib/checkout_sdk/payments/card_payout_item.rb +24 -0
  11. data/lib/checkout_sdk/payments/card_payout_processing.rb +39 -0
  12. data/lib/checkout_sdk/payments/destination/bank_account_destination.rb +29 -0
  13. data/lib/checkout_sdk/payments/destination/card_destination.rb +20 -0
  14. data/lib/checkout_sdk/payments/destination/destination.rb +5 -0
  15. data/lib/checkout_sdk/payments/destination/destination_type.rb +7 -0
  16. data/lib/checkout_sdk/payments/destination/id_destination.rb +16 -0
  17. data/lib/checkout_sdk/payments/destination/network_token_destination.rb +63 -0
  18. data/lib/checkout_sdk/payments/destination/token_destination.rb +15 -0
  19. data/lib/checkout_sdk/payments/downtime_retry_request.rb +14 -0
  20. data/lib/checkout_sdk/payments/dunning_retry_request.rb +22 -0
  21. data/lib/checkout_sdk/payments/flow/flow_client.rb +0 -4
  22. data/lib/checkout_sdk/payments/hosted/hosted_payment_instruction.rb +9 -0
  23. data/lib/checkout_sdk/payments/hosted/hosted_payments_session.rb +42 -31
  24. data/lib/checkout_sdk/payments/instruction_remittance.rb +17 -0
  25. data/lib/checkout_sdk/payments/instruction_scheme.rb +5 -0
  26. data/lib/checkout_sdk/payments/links/payment_link.rb +50 -29
  27. data/lib/checkout_sdk/payments/payment_instruction.rb +48 -1
  28. data/lib/checkout_sdk/payments/payment_request.rb +1 -1
  29. data/lib/checkout_sdk/payments/payment_retry_request.rb +9 -7
  30. data/lib/checkout_sdk/payments/payment_segment.rb +11 -0
  31. data/lib/checkout_sdk/payments/payment_type.rb +4 -1
  32. data/lib/checkout_sdk/payments/payments.rb +11 -0
  33. data/lib/checkout_sdk/payments/payments_client.rb +10 -0
  34. data/lib/checkout_sdk/payments/payout_billing_descriptor.rb +10 -0
  35. data/lib/checkout_sdk/payments/payout_request.rb +59 -1
  36. data/lib/checkout_sdk/payments/sender/corporate_sender.rb +19 -0
  37. data/lib/checkout_sdk/payments/sender/government_sender.rb +21 -0
  38. data/lib/checkout_sdk/payments/sender/individual_sender.rb +46 -0
  39. data/lib/checkout_sdk/payments/sender/instrument_sender.rb +3 -0
  40. data/lib/checkout_sdk/payments/sender/sender.rb +16 -0
  41. data/lib/checkout_sdk/payments/sessions/payment_sessions_request.rb +55 -32
  42. data/lib/checkout_sdk/payments/setups/account_funding_transaction_identification.rb +10 -1
  43. data/lib/checkout_sdk/payments/setups/account_funding_transaction_identification_type.rb +5 -4
  44. data/lib/checkout_sdk/payments/setups/account_funding_transaction_recipient.rb +29 -1
  45. data/lib/checkout_sdk/payments/setups/account_funding_transaction_sender.rb +34 -1
  46. data/lib/checkout_sdk/payments/setups/bacs_payment_method.rb +70 -33
  47. data/lib/checkout_sdk/payments/setups/blik_payment_method.rb +3 -2
  48. data/lib/checkout_sdk/payments/setups/card_present_payment_method.rb +2 -1
  49. data/lib/checkout_sdk/payments/setups/cash_app_payment_method.rb +3 -3
  50. data/lib/checkout_sdk/payments/setups/pay_by_bank_payment_method.rb +39 -15
  51. data/lib/checkout_sdk/payments/setups/payment_setup_payment_type.rb +19 -0
  52. data/lib/checkout_sdk/payments/setups/payment_setup_risk.rb +18 -0
  53. data/lib/checkout_sdk/payments/setups/payment_setups_client.rb +110 -6
  54. data/lib/checkout_sdk/payments/setups/stablecoin_payment_method.rb +2 -1
  55. data/lib/checkout_sdk/payments/source/currency_account_source.rb +8 -0
  56. data/lib/checkout_sdk/payments/source/entity_source.rb +5 -0
  57. data/lib/checkout_sdk/payments/source/payout_source.rb +12 -1
  58. data/lib/checkout_sdk/payments/unreferenced_refund_request.rb +89 -0
  59. data/lib/checkout_sdk/version.rb +1 -1
  60. metadata +12 -2
@@ -2,26 +2,80 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Payments
5
+ # A card payout or bank payout request, sent to POST /payments.
6
+ #
5
7
  # @!attribute source
8
+ # The source of the payout. For bank payouts, the source from which the payout is funded.
9
+ # [Required]
6
10
  # @return [PayoutSource]
7
11
  # @!attribute destination
12
+ # The destination of the payout.
13
+ # You can encrypt this field by using the Cko-Encryption-Key-Id and Cko-Encrypted-Properties headers.
14
+ # Card payouts take {CardDestination}, {NetworkTokenDestination}, {IdDestination} or {TokenDestination};
15
+ # bank payouts take {IdDestination} or {BankAccountDestination}.
16
+ # [Required]
8
17
  # @return [Destination]
9
18
  # @!attribute amount
19
+ # The amount to pay out, in minor units.
20
+ # [Optional] for card payouts, [Required] for bank payouts
21
+ # min 0
10
22
  # @return [Integer]
11
23
  # @!attribute currency
24
+ # The three-letter ISO 4217 code for the currency you want to pay out to the recipient.
25
+ # For bank payouts, it should match the currency of the destination account.
26
+ # [Required]
27
+ # min 3 characters, max 3 characters for bank payouts
12
28
  # @return [String] {CheckoutSdk::Common::Currency}
13
29
  # @!attribute reference
30
+ # A custom reference to identify the payout. For example, an order number.
31
+ # [Optional]
32
+ # max 50 characters for card payouts
14
33
  # @return [String]
15
34
  # @!attribute billing_descriptor
35
+ # The billing descriptor for bank payouts. Beneficiary banks typically construct it using the
36
+ # billing descriptor reference and the sender information.
37
+ # [Required] for bank payouts, not used by card payouts
16
38
  # @return [PayoutBillingDescriptor]
17
39
  # @!attribute sender
40
+ # The sender of the payout. Required for money transfer card payouts. For bank payouts, the
41
+ # ultimate sender of the payout, that is, your customer; not supported for Platform or Direct
42
+ # Seller Checkout.com clients.
43
+ # [Optional]
18
44
  # @return [Sender]
19
45
  # @!attribute instruction
46
+ # Additional details about the payout instruction.
47
+ # [Required] for card payouts, [Optional] for bank payouts
20
48
  # @return [PaymentInstruction]
21
49
  # @!attribute processing_channel_id
50
+ # The unique identifier for the processing channel.
51
+ # [Required]
52
+ # ^(pc)_(\w{26})$
53
+ # 29 characters (min 29, max 29) for card payouts only
22
54
  # @return [String]
23
55
  # @!attribute metadata
56
+ # Stores additional information about the transaction with custom fields. Card payouts only.
57
+ # [Optional]
24
58
  # @return [Hash{String => Object}]
59
+ # @!attribute segment
60
+ # The dimension details about business segment for payment request. At least one dimension required.
61
+ # [Optional]
62
+ # @return [PaymentSegment]
63
+ # @!attribute items
64
+ # The order's line items. Card payouts only.
65
+ # [Optional]
66
+ # @return [Array(CardPayoutItem)]
67
+ # @!attribute previous_payment_id
68
+ # The identifier of an existing payment from the recurring series, if the payout is a recurring
69
+ # payment that uses stored card details. If the card payout is linked to a previous Account
70
+ # Funding Transaction (AFT), include the previous payment's ID when Checkout.com processed the
71
+ # AFT, or the scheme's transaction ID when another payment service provider processed it.
72
+ # Card payouts only.
73
+ # [Optional]
74
+ # @return [String]
75
+ # @!attribute processing
76
+ # Information related to the processing of the payout. Card payouts only.
77
+ # [Optional]
78
+ # @return [CardPayoutProcessing]
25
79
  class PayoutRequest
26
80
  attr_accessor :source,
27
81
  :destination,
@@ -32,7 +86,11 @@ module CheckoutSdk
32
86
  :sender,
33
87
  :instruction,
34
88
  :processing_channel_id,
35
- :metadata
89
+ :metadata,
90
+ :segment,
91
+ :items,
92
+ :previous_payment_id,
93
+ :processing
36
94
  end
37
95
  end
38
96
  end
@@ -2,15 +2,34 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Payments
5
+ # A corporate sender, with type corporate. Used by card payouts, bank payouts and regular payments.
6
+ # The reference is inherited from {Sender}.
7
+ #
5
8
  # @!attribute company_name
9
+ # The sender's company name. For card payouts, this must be a valid legal name: a single character or
10
+ # all non-alphabetic characters return a field validation error.
11
+ # [Required]
12
+ # max 35 characters for card payouts
6
13
  # @return [String]
7
14
  # @!attribute address
15
+ # The sender's address. For card payouts, the residential address of an individual sender or the
16
+ # registered corporate address of a corporate or government sender.
17
+ # [Required]
8
18
  # @return [CheckoutSdk::Common::Address]
9
19
  # @!attribute reference_type
20
+ # The type of identifier used as the reference. Card payouts only.
21
+ # [Required] for card payouts
22
+ # Enum: "other"
10
23
  # @return [String]
11
24
  # @!attribute source_of_funds
25
+ # The source of the funds used to fund the card payout. Card payouts only.
26
+ # [Required] for card payouts
27
+ # Enum: "credit" "debit" "prepaid" "deposit_account" "mobile_money_account" "cash"
12
28
  # @return [String] {SourceOfFunds}
13
29
  # @!attribute identification
30
+ # The sender's identification. For card payouts, required if the card's issuer_country is one of AR, BR,
31
+ # CO or PE.
32
+ # [Optional] Card payouts only.
14
33
  # @return [CheckoutSdk::Common::AccountHolderIdentification]
15
34
  class CorporateSender < Sender
16
35
  attr_accessor :company_name,
@@ -2,17 +2,38 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Payments
5
+ # A government sender, with type government. Card payouts only.
6
+ #
5
7
  # @!attribute company_name
8
+ # The sender's company name. This must be a valid legal name: a single character or all non-alphabetic
9
+ # characters return a field validation error.
10
+ # [Required]
11
+ # max 35 characters
6
12
  # @return [String]
7
13
  # @!attribute address
14
+ # The sender's registered corporate address.
15
+ # [Required]
8
16
  # @return [CheckoutSdk::Common::Address]
9
17
  # @!attribute reference
18
+ # The unique identifier for the sender, for example a customer number. Only alphanumeric characters
19
+ # are supported.
20
+ # [Required]
21
+ # min 5 characters
22
+ # max 15 characters
10
23
  # @return [String]
11
24
  # @!attribute reference_type
25
+ # The type of identifier used as the reference.
26
+ # [Required]
27
+ # Enum: "other"
12
28
  # @return [String]
13
29
  # @!attribute source_of_funds
30
+ # The source of the funds used to fund the card payout.
31
+ # [Required]
32
+ # Enum: "credit" "debit" "prepaid" "deposit_account" "mobile_money_account" "cash"
14
33
  # @return [String] {SourceOfFunds}
15
34
  # @!attribute identification
35
+ # The sender's identification. Required if the card's issuer_country is one of AR, BR, CO or PE.
36
+ # [Optional]
16
37
  # @return [CheckoutSdk::Common::AccountHolderIdentification]
17
38
  class GovernmentSender < Sender
18
39
  attr_accessor :company_name,
@@ -2,29 +2,75 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Payments
5
+ # An individual sender, with type individual. Used by card payouts, bank payouts and regular payments.
6
+ #
5
7
  # @!attribute first_name
8
+ # The sender's legal first name. For card payouts, the combination of first_name, middle_name and
9
+ # last_name should exceed 3 letters in length, and a single character or all non-alphabetic
10
+ # characters return a field validation error.
11
+ # [Required]
12
+ # max 50 characters for card payouts
6
13
  # @return [String]
7
14
  # @!attribute middle_name
15
+ # The sender's middle name. Card payouts only.
16
+ # [Optional]
17
+ # max 50 characters
8
18
  # @return [String]
9
19
  # @!attribute last_name
20
+ # The sender's legal last name. For card payouts, the combination of first_name, middle_name and
21
+ # last_name must exceed 3 letters in length, and a single character or all non-alphabetic characters
22
+ # return a field validation error.
23
+ # [Required]
24
+ # max 50 characters for card payouts
10
25
  # @return [String]
11
26
  # @!attribute dob
27
+ # The sender's date of birth in a YYYY-MM-DD format. Strongly recommended where available. Bank
28
+ # payouts only; card payouts and regular payments use date_of_birth.
29
+ # [Optional]
30
+ # max 10 characters
12
31
  # @return [String]
13
32
  # @!attribute address
33
+ # The sender's address. For card payouts, the sender's residential address.
34
+ # [Required]
14
35
  # @return [CheckoutSdk::Common::Address]
15
36
  # @!attribute identification
37
+ # The sender's identification. For card payouts, required if the card's issuer_country is one of AR, BR,
38
+ # CO or PE.
39
+ # [Optional]
16
40
  # @return [CheckoutSdk::Common::AccountHolderIdentification]
17
41
  # @!attribute reference
42
+ # For card payouts, the unique identifier for the sender, for example a customer number; only
43
+ # alphanumeric characters are supported. For bank payouts, a unique reference to the underlying
44
+ # client's customer, a global KYC requirement. For regular payments, the unique reference for the
45
+ # sender of the payment.
46
+ # [Required] for card payouts and bank payouts, [Optional] for regular payments
47
+ # min 5 characters, max 15 characters for card payouts
18
48
  # @return [String]
19
49
  # @!attribute reference_type
50
+ # The type of identifier used as the reference. Card payouts only.
51
+ # [Required] for card payouts
52
+ # Enum: "other"
20
53
  # @return [String]
21
54
  # @!attribute date_of_birth
55
+ # The sender's date of birth, in the format YYYY-MM-DD. For card payouts, required for cross-border
56
+ # money transfers. Card payouts and regular payments; bank payouts use dob.
57
+ # [Optional]
58
+ # 10 characters for card payouts, max 10 characters for regular payments
22
59
  # @return [String]
23
60
  # @!attribute source_of_funds
61
+ # The source of the funds used to fund the card payout. Card payouts only.
62
+ # [Required] for card payouts
63
+ # Enum: "credit" "debit" "prepaid" "deposit_account" "mobile_money_account" "cash"
24
64
  # @return [String] {SourceOfFunds}
25
65
  # @!attribute country_of_birth
66
+ # The sender's country of birth, as a two-letter ISO country code. Card payouts only.
67
+ # [Optional]
68
+ # 2 characters
26
69
  # @return [String] {CheckoutSdk::Common::Country}
27
70
  # @!attribute nationality
71
+ # The sender's nationality, as a two-letter ISO country code. Card payouts only.
72
+ # [Optional]
73
+ # 2 characters
28
74
  # @return [String] {CheckoutSdk::Common::Country}
29
75
  class IndividualSender < Sender
30
76
  attr_accessor :first_name,
@@ -2,6 +2,9 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Payments
5
+ # An instrument sender, with type instrument: the sender information is retrieved from the payment
6
+ # instrument (the destination, for bank payouts). Used by bank payouts and regular payments.
7
+ # The reference is inherited from {Sender}: [Required] for bank payouts, [Optional] for regular payments.
5
8
  class InstrumentSender < Sender
6
9
  def initialize
7
10
  super(CheckoutSdk::Payments::SenderType::INSTRUMENT)
@@ -2,9 +2,25 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Payments
5
+ # The sender of a payment or a payout. Set the subclass that matches the sender type.
6
+ # - Card payouts (money transfers): {IndividualSender}, {CorporateSender}, {GovernmentSender}.
7
+ # - Bank payouts: {IndividualSender}, {CorporateSender}, {InstrumentSender}. Not supported for Platform or
8
+ # Direct Seller Checkout.com clients.
9
+ # - Regular payments (PaymentRequest): {IndividualSender}, {CorporateSender}, {InstrumentSender}.
10
+ #
5
11
  # @!attribute type
12
+ # The sender type. Set by each subclass.
13
+ # [Required]
14
+ # Enum: "individual" "corporate" "government" (card payouts); "instrument" "individual" "corporate"
15
+ # (bank payouts and regular payments)
6
16
  # @return [String] {SenderType}
7
17
  # @!attribute reference
18
+ # For card payouts, the unique identifier for the sender, for example a customer number; only
19
+ # alphanumeric characters are supported. For bank payouts, a unique reference to the underlying
20
+ # client's customer, a global KYC requirement. For regular payments, the unique reference for the
21
+ # sender of the payment.
22
+ # [Required] for card payouts and bank payouts, [Optional] for regular payments
23
+ # min 5 characters, max 15 characters for card payouts
8
24
  # @return [String]
9
25
  class Sender
10
26
  attr_reader :type
@@ -3,69 +3,90 @@
3
3
  module CheckoutSdk
4
4
  module Payments
5
5
  # @!attribute amount
6
- # @return [Integer]
6
+ # @return [Integer] [Required] The payment amount.
7
7
  # @!attribute currency
8
- # @return [String] {CheckoutSdk::Common::Currency}
8
+ # @return [String] {CheckoutSdk::Common::Currency} [Required] The three-letter ISO currency code.
9
9
  # @!attribute payment_type
10
- # @return [TrueClass, FalseClass]
10
+ # @return [String] {PaymentType} [Optional] Must be specified for card-not-present (CNP) payments.
11
+ # Enum: "Regular" "Recurring" "MOTO" "Installment" "Unscheduled". Default: "Regular".
11
12
  # @!attribute billing
12
- # @return [BillingInformation]
13
+ # @return [BillingInformation] [Required] The billing details.
13
14
  # @!attribute billing_descriptor
14
- # @return [BillingDescriptor]
15
+ # @return [BillingDescriptor] [Optional] A description of the purchase, which is displayed on the customer's
16
+ # statement.
15
17
  # @!attribute reference
16
- # @return [String]
18
+ # @return [String] [Optional] A reference you can use to identify the payment.
17
19
  # @!attribute description
18
- # @return [String]
20
+ # @return [String] [Optional] A description for the payment.
19
21
  # @!attribute customer
20
- # @return [CheckoutSdk::Common::CustomerRequest]
22
+ # @return [CheckoutSdk::Common::CustomerRequest] [Optional] The customer's details.
21
23
  # @!attribute shipping
22
- # @return [ShippingDetails]
24
+ # @return [ShippingDetails] [Optional] The shipping details
23
25
  # @!attribute recipient
24
- # @return [PaymentRecipient]
26
+ # @return [PaymentRecipient] [Optional] Information about the recipient of the payment's funds.
25
27
  # @!attribute processing
26
- # @return [ProcessingSettings]
28
+ # @return [ProcessingSettings] [Optional] Use the processing object to influence or override the data sent
29
+ # during card processing
27
30
  # @!attribute processing_channel_id
28
- # @return [String]
31
+ # @return [String] [Optional] The processing channel to use for the payment.
29
32
  # @!attribute expires_on
30
- # @return [Time]
33
+ # @return [Time] [Optional] A timestamp specifying when the `PaymentSession` should expire, as an ISO 8601 code.
31
34
  # @!attribute payment_method_configuration
32
- # @return [PaymentMethodConfiguration]
35
+ # @return [PaymentMethodConfiguration] [Optional] Configurations for payment method-specific settings.
33
36
  # @!attribute enabled_payment_methods
34
- # @return [Array(PaymentMethodsType)]
37
+ # @return [Array(PaymentMethodsType)] [Optional] Specifies which payment method options to present to the
38
+ # customer.
35
39
  # @!attribute disabled_payment_methods
36
- # @return [Array(PaymentMethodsType)]
40
+ # @return [Array(PaymentMethodsType)] [Optional] Specifies which payment method options to not present to the
41
+ # customer.
37
42
  # @!attribute items
38
- # @return [Array(Product)]
43
+ # @return [Array(Product)] [Optional] The line items in the order.
39
44
  # @!attribute amount_allocations
40
- # @return [Array(CheckoutSdk::Common::AmountAllocations)]
45
+ # @return [Array(CheckoutSdk::Common::AmountAllocations)] [Optional] The sub-entities that the payment is being
46
+ # processed on behalf of.
41
47
  # @!attribute risk
42
- # @return [RiskRequest]
48
+ # @return [RiskRequest] [Optional] Configures the risk assessment performed during payment processing.
43
49
  # @!attribute retry
44
- # @return [PaymentRetryRequest]
50
+ # @return [PaymentRetryRequest] [Optional] Configuration of asynchronous retries.
51
+ # @deprecated Not part of the payment sessions request; the API ignores it. Will be removed in the next
52
+ # major version.
53
+ # @!attribute customer_retry
54
+ # @return [CheckoutSdk::Common::CustomerRetry] [Optional] Configures the parameters for customer retries
55
+ # performed by the customer on the checkout page. max_attempts is the maximum number of customer retry
56
+ # attempts, excluding the initial payment attempt (minimum 0, maximum 5, default 5); it is required
57
+ # when customer_retry is set.
45
58
  # @!attribute display_name
46
- # @return [String]
59
+ # @return [String] [Optional] The merchant's display name.
47
60
  # @!attribute success_url
48
- # @return [String]
61
+ # @return [String] [Required] Overrides the default success redirect URL configured on your account, for payment
62
+ # methods that require a redirect.
49
63
  # @!attribute failure_url
50
- # @return [String]
64
+ # @return [String] [Required] Overrides the default failure redirect URL configured on your account, for payment
65
+ # methods that require a redirect.
51
66
  # @!attribute metadata
52
- # @return [Hash{String => Object}]
67
+ # @return [Hash{String => Object}] [Optional] Allows you to store additional information about a transaction
68
+ # with custom fields and up to five user-defined fields, which can be used for reporting purposes.
53
69
  # @!attribute locale
54
- # @return [String]
70
+ # @return [String] [Optional] Creates a translated version of the page in the specified language.
55
71
  # @!attribute three_ds
56
- # @return [ThreeDSRequest]
72
+ # @return [ThreeDSRequest] [Optional] Information required for 3D Secure authentication payments.
57
73
  # @!attribute sender
58
- # @return [Sender]
74
+ # @return [Sender] [Optional] The sender of the payment.
59
75
  # @!attribute capture
60
- # @return [TrueClass, FalseClass]
76
+ # @return [TrueClass, FalseClass] [Optional] Specifies whether to capture the payment, if applicable.
61
77
  # @!attribute ip_address
62
- # @return [String]
78
+ # @return [String] [Optional] The Customers IP address. Only IPv4 and IPv6 addresses are accepted.
79
+ # @deprecated The Customers IP address is deprecated in the API reference. Will be removed in the next
80
+ # major version.
63
81
  # @!attribute capture_on
64
- # @return [Time]
82
+ # @return [Time] [Optional] A timestamp specifying when to capture the payment, as an ISO 8601 code.
65
83
  # @!attribute tax_amount
66
- # @return [Integer]
84
+ # @return [Integer] [Optional] The total tax amount, in the minor currency unit. Not in the
85
+ # payment sessions request specification.
67
86
  # @!attribute authorization_type
68
87
  # @return [String] [Optional] {AuthorizationType} Enum: "Final" "Estimated". Default: "Final".
88
+ # @!attribute instruction
89
+ # @return [HostedPaymentInstruction] [Optional] Details about the payment instruction.
69
90
  # @!attribute payment_plan
70
91
  # @return [PaymentPlan] [Optional] The information to process a recurring payment request.
71
92
  # To be used when the payment_type is Recurring.
@@ -90,6 +111,7 @@ module CheckoutSdk
90
111
  :amount_allocations,
91
112
  :risk,
92
113
  :retry,
114
+ :customer_retry,
93
115
  :display_name,
94
116
  :success_url,
95
117
  :failure_url,
@@ -102,7 +124,8 @@ module CheckoutSdk
102
124
  :capture_on,
103
125
  :tax_amount,
104
126
  :authorization_type,
105
- :payment_plan
127
+ :payment_plan,
128
+ :instruction
106
129
  end
107
130
  end
108
131
  end
@@ -2,11 +2,20 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Payments
5
+ # Sender identification details of an Account Funding Transaction on a Payment Setup.
6
+ # Maps swagger `PaymentSetup.account_funding_transaction.sender.identification`.
7
+ #
5
8
  # @!attribute type
6
- # @return [String] {AccountFundingTransactionIdentificationType}
9
+ # The type of identification used to identify the sender.
10
+ # [Optional]
11
+ # @return [String] One of {AccountFundingTransactionIdentificationType}.
7
12
  # @!attribute number
13
+ # The identification number.
14
+ # [Optional]
8
15
  # @return [String]
9
16
  # @!attribute issuing_country
17
+ # The two-letter ISO country code of the country that issued the identification.
18
+ # [Optional]
10
19
  # @return [String] {CheckoutSdk::Common::Country}
11
20
  class AccountFundingTransactionIdentification
12
21
  attr_accessor :type,
@@ -2,14 +2,15 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Payments
5
- # Identification document type used by the sender of an Account Funding Transaction
6
- # on a Payment Setup.
5
+ # The type of identification used to identify the sender of an Account Funding Transaction on a
6
+ # Payment Setup. Maps swagger `PaymentSetup.account_funding_transaction.sender.identification.type`.
7
7
  module AccountFundingTransactionIdentificationType
8
+ # A driving license.
8
9
  DRIVING_LICENSE = 'driving_license'
10
+ # A passport.
9
11
  PASSPORT = 'passport'
12
+ # A national identity document.
10
13
  NATIONAL_ID = 'national_id'
11
- TAX_ID = 'tax_id'
12
- OTHER = 'other'
13
14
  end
14
15
  end
15
16
  end
@@ -2,17 +2,45 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Payments
5
+ # Account funding transaction recipient details on a Payment Setup.
6
+ # Maps swagger `PaymentSetup.account_funding_transaction.recipient`.
7
+ #
5
8
  # @!attribute first_name
9
+ # The recipient's first name.
10
+ # [Optional]
11
+ # max 50 characters
6
12
  # @return [String]
7
13
  # @!attribute last_name
14
+ # The recipient's last name.
15
+ # [Optional]
16
+ # max 50 characters
8
17
  # @return [String]
9
18
  # @!attribute account_number
19
+ # Any identifier like part of the PAN (first six digits and last four digits), an IBAN, an internal
20
+ # account number, or a phone number related to the primary recipient's account.
21
+ # [Optional]
22
+ # max 34 characters
10
23
  # @return [String]
11
24
  # @!attribute account_type
25
+ # The type of the recipient's account.
26
+ # [Optional]
27
+ # @deprecated Not part of the Recipient schema of the Payment Setups account funding transaction; the
28
+ # API ignores it on requests. There is no replacement. Will be removed in the next major version.
12
29
  # @return [String]
13
30
  # @!attribute date_of_birth
14
- # @return [String] Format: YYYY-MM-DD
31
+ # Date of birth of the recipient (yyyy-mm-dd).
32
+ # [Optional]
33
+ # Format: date
34
+ # @return [String]
15
35
  # @!attribute address
36
+ # The recipient's address. Maps swagger `PaymentSetupAddress`; all keys are optional:
37
+ # - `address_line1`: The first line of the address. max 200 characters
38
+ # - `address_line2`: The second line of the address. max 200 characters
39
+ # - `city`: The address city. max 50 characters
40
+ # - `state`: The address state or county. max 50 characters
41
+ # - `zip`: The postal or zip code. max 50 characters
42
+ # - `country`: The address country, in ISO 3166-1 alpha-2 format. max 2 characters
43
+ # [Optional]
16
44
  # @return [CheckoutSdk::Common::Address]
17
45
  class AccountFundingTransactionRecipient
18
46
  attr_accessor :first_name,
@@ -2,19 +2,51 @@
2
2
 
3
3
  module CheckoutSdk
4
4
  module Payments
5
+ # Account funding transaction sender details on a Payment Setup.
6
+ # Maps swagger `PaymentSetup.account_funding_transaction.sender`.
7
+ #
5
8
  # @!attribute first_name
9
+ # The sender's first name.
10
+ # [Optional]
11
+ # @deprecated Not part of the Sender schema of the Payment Setups account funding transaction; the
12
+ # API ignores it on requests. There is no replacement. Will be removed in the next major version.
6
13
  # @return [String]
7
14
  # @!attribute last_name
15
+ # The sender's last name.
16
+ # [Optional]
17
+ # @deprecated Not part of the Sender schema of the Payment Setups account funding transaction; the
18
+ # API ignores it on requests. There is no replacement. Will be removed in the next major version.
8
19
  # @return [String]
9
20
  # @!attribute date_of_birth
10
- # @return [String] Format: YYYY-MM-DD
21
+ # Date of birth of the sender (yyyy-mm-dd).
22
+ # [Optional]
23
+ # Format: date
24
+ # @return [String]
11
25
  # @!attribute country_of_birth
26
+ # The sender's country of birth, as an ISO 3166-1 alpha-2 code.
27
+ # [Optional]
28
+ # @deprecated Not part of the Sender schema of the Payment Setups account funding transaction; the
29
+ # API ignores it on requests. There is no replacement. Will be removed in the next major version.
12
30
  # @return [String] {CheckoutSdk::Common::Country}
13
31
  # @!attribute nationality
32
+ # The sender's nationality, as an ISO 3166-1 alpha-2 code.
33
+ # [Optional]
34
+ # @deprecated Not part of the Sender schema of the Payment Setups account funding transaction; the
35
+ # API ignores it on requests. There is no replacement. Will be removed in the next major version.
14
36
  # @return [String] {CheckoutSdk::Common::Country}
15
37
  # @!attribute address
38
+ # The sender's address.
39
+ # [Optional]
40
+ # @deprecated Not part of the Sender schema of the Payment Setups account funding transaction; the
41
+ # API ignores it on requests. There is no replacement. Will be removed in the next major version.
16
42
  # @return [CheckoutSdk::Common::Address]
43
+ # @!attribute reference
44
+ # The unique reference for the sender of the payment.
45
+ # [Optional]
46
+ # @return [String]
17
47
  # @!attribute identification
48
+ # Sender identification details.
49
+ # [Optional]
18
50
  # @return [AccountFundingTransactionIdentification]
19
51
  class AccountFundingTransactionSender
20
52
  attr_accessor :first_name,
@@ -23,6 +55,7 @@ module CheckoutSdk
23
55
  :country_of_birth,
24
56
  :nationality,
25
57
  :address,
58
+ :reference,
26
59
  :identification
27
60
  end
28
61
  end