All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.stripe.model.PaymentIntent Maven / Gradle / Ivy

There is a newer version: 28.2.0
Show newest version
// Generated by delombok at Fri Nov 19 19:06:04 EST 2021
// File generated from our OpenAPI spec
package com.stripe.model;

import com.google.gson.annotations.SerializedName;
import com.stripe.Stripe;
import com.stripe.exception.StripeException;
import com.stripe.net.ApiResource;
import com.stripe.net.RequestOptions;
import com.stripe.param.PaymentIntentCancelParams;
import com.stripe.param.PaymentIntentCaptureParams;
import com.stripe.param.PaymentIntentConfirmParams;
import com.stripe.param.PaymentIntentCreateParams;
import com.stripe.param.PaymentIntentListParams;
import com.stripe.param.PaymentIntentRetrieveParams;
import com.stripe.param.PaymentIntentUpdateParams;
import java.util.List;
import java.util.Map;

public class PaymentIntent extends ApiResource implements HasId, MetadataStore {
  /**
   * Amount intended to be collected by this PaymentIntent. A positive integer representing how much
   * to charge in the smallest currency
   * unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The
   * minimum amount is $0.50 US or equivalent in
   * charge currency. The amount value supports up to eight digits (e.g., a value of 99999999
   * for a USD charge of $999,999.99).
   */
  @SerializedName("amount")
  Long amount;
  /**
   * Amount that can be captured from this PaymentIntent.
   */
  @SerializedName("amount_capturable")
  Long amountCapturable;
  /**
   * Amount that was collected by this PaymentIntent.
   */
  @SerializedName("amount_received")
  Long amountReceived;
  /**
   * ID of the Connect application that created the PaymentIntent.
   */
  @SerializedName("application")
  ExpandableField application;
  /**
   * The amount of the application fee (if any) that will be requested to be applied to the payment
   * and transferred to the application owner's Stripe account. The amount of the application fee
   * collected will be capped at the total payment amount. For more information, see the
   * PaymentIntents use case for
   * connected accounts.
   */
  @SerializedName("application_fee_amount")
  Long applicationFeeAmount;
  /**
   * Settings to configure compatible payment methods from the Stripe Dashboard.
   */
  @SerializedName("automatic_payment_methods")
  AutomaticPaymentMethodsPaymentIntent automaticPaymentMethods;
  /**
   * Populated when {@code status} is {@code canceled}, this is the time at which the PaymentIntent
   * was canceled. Measured in seconds since the Unix epoch.
   */
  @SerializedName("canceled_at")
  Long canceledAt;
  /**
   * Reason for cancellation of this PaymentIntent, either user-provided ({@code duplicate}, {@code
   * fraudulent}, {@code requested_by_customer}, or {@code abandoned}) or generated by Stripe
   * internally ({@code failed_invoice}, {@code void_invoice}, or {@code automatic}).
   *
   * 

One of {@code abandoned}, {@code automatic}, {@code duplicate}, {@code failed_invoice}, * {@code fraudulent}, {@code requested_by_customer}, or {@code void_invoice}. */ @SerializedName("cancellation_reason") String cancellationReason; /** * Controls when the funds will be captured from the customer's account. * *

One of {@code automatic}, or {@code manual}. */ @SerializedName("capture_method") String captureMethod; /** * Charges that were created by this PaymentIntent, if any. */ @SerializedName("charges") ChargeCollection charges; /** * The client secret of this PaymentIntent. Used for client-side retrieval using a publishable * key. * *

The client secret can be used to complete a payment from your frontend. It should not be * stored, logged, embedded in URLs, or exposed to anyone other than the customer. Make sure that * you have TLS enabled on any page that includes the client secret. * *

Refer to our docs to accept a * payment and learn about how {@code client_secret} should be handled. */ @SerializedName("client_secret") String clientSecret; @SerializedName("confirmation_method") String confirmationMethod; /** * Time at which the object was created. Measured in seconds since the Unix epoch. */ @SerializedName("created") Long created; /** * Three-letter ISO currency code, * in lowercase. Must be a supported currency. */ @SerializedName("currency") String currency; /** * ID of the Customer this PaymentIntent belongs to, if one exists. * *

Payment methods attached to other Customers cannot be used with this PaymentIntent. * *

If present in combination with setup_future_usage, * this PaymentIntent's payment method will be attached to the Customer after the PaymentIntent * has been confirmed and any required actions from the user are complete. */ @SerializedName("customer") ExpandableField customer; /** * An arbitrary string attached to the object. Often useful for displaying to users. */ @SerializedName("description") String description; /** * Unique identifier for the object. */ @SerializedName("id") String id; /** * ID of the invoice that created this PaymentIntent, if it exists. */ @SerializedName("invoice") ExpandableField invoice; /** * The payment error encountered in the previous PaymentIntent confirmation. It will be cleared if * the PaymentIntent is later updated for any reason. */ @SerializedName("last_payment_error") StripeError lastPaymentError; /** * Has the value {@code true} if the object exists in live mode or the value {@code false} if the * object exists in test mode. */ @SerializedName("livemode") Boolean livemode; /** * Set of key-value pairs that you can attach * to an object. This can be useful for storing additional information about the object in a * structured format. For more information, see the documentation. */ @SerializedName("metadata") Map metadata; /** * If present, this property tells you what actions you need to take in order for your customer to * fulfill a payment using the provided source. */ @SerializedName("next_action") NextAction nextAction; /** * String representing the object's type. Objects of the same type share the same value. * *

Equal to {@code payment_intent}. */ @SerializedName("object") String object; /** * The account (if any) for which the funds of the PaymentIntent are intended. See the * PaymentIntents use case for * connected accounts for details. */ @SerializedName("on_behalf_of") ExpandableField onBehalfOf; /** * ID of the payment method used in this PaymentIntent. */ @SerializedName("payment_method") ExpandableField paymentMethod; /** * Payment-method-specific configuration for this PaymentIntent. */ @SerializedName("payment_method_options") PaymentMethodOptions paymentMethodOptions; /** * The list of payment method types (e.g. card) that this PaymentIntent is allowed to use. */ @SerializedName("payment_method_types") List paymentMethodTypes; /** * Email address that the receipt for the resulting payment will be sent to. If {@code * receipt_email} is specified for a payment in live mode, a receipt will be sent regardless of * your email settings. */ @SerializedName("receipt_email") String receiptEmail; /** * ID of the review associated with this PaymentIntent, if any. */ @SerializedName("review") ExpandableField review; /** * Indicates that you intend to make future payments with this PaymentIntent's payment method. * *

Providing this parameter will attach the payment method to * the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required * actions from the user are complete. If no Customer was provided, the payment method can still * be attached to a Customer * after the transaction completes. * *

When processing card payments, Stripe also uses {@code setup_future_usage} to dynamically * optimize your payment flow and comply with regional legislation and network rules, such as SCA. * *

One of {@code off_session}, or {@code on_session}. */ @SerializedName("setup_future_usage") String setupFutureUsage; /** * Shipping information for this PaymentIntent. */ @SerializedName("shipping") ShippingDetails shipping; /** * This is a legacy field that will be removed in the future. It is the ID of the Source object * that is associated with this PaymentIntent, if one was supplied. */ @SerializedName("source") ExpandableField source; /** * For non-card charges, you can use this value as the complete description that appears on your * customers’ statements. Must contain at least one letter, maximum 22 characters. */ @SerializedName("statement_descriptor") String statementDescriptor; /** * Provides information about a card payment that customers see on their statements. Concatenated * with the prefix (shortened descriptor) or statement descriptor that’s set on the account to * form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. */ @SerializedName("statement_descriptor_suffix") String statementDescriptorSuffix; /** * Status of this PaymentIntent, one of {@code requires_payment_method}, {@code * requires_confirmation}, {@code requires_action}, {@code processing}, {@code requires_capture}, * {@code canceled}, or {@code succeeded}. Read more about each PaymentIntent status. */ @SerializedName("status") String status; /** * The data with which to automatically create a Transfer when the payment is finalized. See the * PaymentIntents use case for * connected accounts for details. */ @SerializedName("transfer_data") TransferData transferData; /** * A string that identifies the resulting payment as part of a group. See the PaymentIntents use case for connected accounts * for details. */ @SerializedName("transfer_group") String transferGroup; /** * Get ID of expandable {@code application} object. */ public String getApplication() { return (this.application != null) ? this.application.getId() : null; } public void setApplication(String id) { this.application = ApiResource.setExpandableFieldId(id, this.application); } /** * Get expanded {@code application}. */ public Application getApplicationObject() { return (this.application != null) ? this.application.getExpanded() : null; } public void setApplicationObject(Application expandableObject) { this.application = new ExpandableField(expandableObject.getId(), expandableObject); } /** * Get ID of expandable {@code customer} object. */ public String getCustomer() { return (this.customer != null) ? this.customer.getId() : null; } public void setCustomer(String id) { this.customer = ApiResource.setExpandableFieldId(id, this.customer); } /** * Get expanded {@code customer}. */ public Customer getCustomerObject() { return (this.customer != null) ? this.customer.getExpanded() : null; } public void setCustomerObject(Customer expandableObject) { this.customer = new ExpandableField(expandableObject.getId(), expandableObject); } /** * Get ID of expandable {@code invoice} object. */ public String getInvoice() { return (this.invoice != null) ? this.invoice.getId() : null; } public void setInvoice(String id) { this.invoice = ApiResource.setExpandableFieldId(id, this.invoice); } /** * Get expanded {@code invoice}. */ public Invoice getInvoiceObject() { return (this.invoice != null) ? this.invoice.getExpanded() : null; } public void setInvoiceObject(Invoice expandableObject) { this.invoice = new ExpandableField(expandableObject.getId(), expandableObject); } /** * Get ID of expandable {@code onBehalfOf} object. */ public String getOnBehalfOf() { return (this.onBehalfOf != null) ? this.onBehalfOf.getId() : null; } public void setOnBehalfOf(String id) { this.onBehalfOf = ApiResource.setExpandableFieldId(id, this.onBehalfOf); } /** * Get expanded {@code onBehalfOf}. */ public Account getOnBehalfOfObject() { return (this.onBehalfOf != null) ? this.onBehalfOf.getExpanded() : null; } public void setOnBehalfOfObject(Account expandableObject) { this.onBehalfOf = new ExpandableField(expandableObject.getId(), expandableObject); } /** * Get ID of expandable {@code paymentMethod} object. */ public String getPaymentMethod() { return (this.paymentMethod != null) ? this.paymentMethod.getId() : null; } public void setPaymentMethod(String id) { this.paymentMethod = ApiResource.setExpandableFieldId(id, this.paymentMethod); } /** * Get expanded {@code paymentMethod}. */ public PaymentMethod getPaymentMethodObject() { return (this.paymentMethod != null) ? this.paymentMethod.getExpanded() : null; } public void setPaymentMethodObject(PaymentMethod expandableObject) { this.paymentMethod = new ExpandableField(expandableObject.getId(), expandableObject); } /** * Get ID of expandable {@code review} object. */ public String getReview() { return (this.review != null) ? this.review.getId() : null; } public void setReview(String id) { this.review = ApiResource.setExpandableFieldId(id, this.review); } /** * Get expanded {@code review}. */ public Review getReviewObject() { return (this.review != null) ? this.review.getExpanded() : null; } public void setReviewObject(Review expandableObject) { this.review = new ExpandableField(expandableObject.getId(), expandableObject); } /** * Get ID of expandable {@code source} object. */ public String getSource() { return (this.source != null) ? this.source.getId() : null; } public void setSource(String id) { this.source = ApiResource.setExpandableFieldId(id, this.source); } /** * Get expanded {@code source}. */ public PaymentSource getSourceObject() { return (this.source != null) ? this.source.getExpanded() : null; } public void setSourceObject(PaymentSource expandableObject) { this.source = new ExpandableField(expandableObject.getId(), expandableObject); } /** * Creates a PaymentIntent object. * *

After the PaymentIntent is created, attach a payment method and confirm to continue the payment. * You can read more about the different payment flows available via the Payment Intents API here. * *

When confirm=true is used during creation, it is equivalent to creating and * confirming the PaymentIntent in the same call. You may use any parameters available in the confirm API when * confirm=true is supplied. */ public static PaymentIntent create(Map params) throws StripeException { return create(params, (RequestOptions) null); } /** * Creates a PaymentIntent object. * *

After the PaymentIntent is created, attach a payment method and confirm to continue the payment. * You can read more about the different payment flows available via the Payment Intents API here. * *

When confirm=true is used during creation, it is equivalent to creating and * confirming the PaymentIntent in the same call. You may use any parameters available in the confirm API when * confirm=true is supplied. */ public static PaymentIntent create(Map params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), "/v1/payment_intents"); return ApiResource.request(ApiResource.RequestMethod.POST, url, params, PaymentIntent.class, options); } /** * Creates a PaymentIntent object. * *

After the PaymentIntent is created, attach a payment method and confirm to continue the payment. * You can read more about the different payment flows available via the Payment Intents API here. * *

When confirm=true is used during creation, it is equivalent to creating and * confirming the PaymentIntent in the same call. You may use any parameters available in the confirm API when * confirm=true is supplied. */ public static PaymentIntent create(PaymentIntentCreateParams params) throws StripeException { return create(params, (RequestOptions) null); } /** * Creates a PaymentIntent object. * *

After the PaymentIntent is created, attach a payment method and confirm to continue the payment. * You can read more about the different payment flows available via the Payment Intents API here. * *

When confirm=true is used during creation, it is equivalent to creating and * confirming the PaymentIntent in the same call. You may use any parameters available in the confirm API when * confirm=true is supplied. */ public static PaymentIntent create(PaymentIntentCreateParams params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), "/v1/payment_intents"); return ApiResource.request(ApiResource.RequestMethod.POST, url, params, PaymentIntent.class, options); } /** * Returns a list of PaymentIntents. */ public static PaymentIntentCollection list(Map params) throws StripeException { return list(params, (RequestOptions) null); } /** * Returns a list of PaymentIntents. */ public static PaymentIntentCollection list(Map params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), "/v1/payment_intents"); return ApiResource.requestCollection(url, params, PaymentIntentCollection.class, options); } /** * Returns a list of PaymentIntents. */ public static PaymentIntentCollection list(PaymentIntentListParams params) throws StripeException { return list(params, (RequestOptions) null); } /** * Returns a list of PaymentIntents. */ public static PaymentIntentCollection list(PaymentIntentListParams params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), "/v1/payment_intents"); return ApiResource.requestCollection(url, params, PaymentIntentCollection.class, options); } /** * Retrieves the details of a PaymentIntent that has previously been created. * *

Client-side retrieval using a publishable key is allowed when the client_secret * is provided in the query string. * *

When retrieved with a publishable key, only a subset of properties will be returned. Please * refer to the payment intent * object reference for more details. */ public static PaymentIntent retrieve(String intent) throws StripeException { return retrieve(intent, (Map) null, (RequestOptions) null); } /** * Retrieves the details of a PaymentIntent that has previously been created. * *

Client-side retrieval using a publishable key is allowed when the client_secret * is provided in the query string. * *

When retrieved with a publishable key, only a subset of properties will be returned. Please * refer to the payment intent * object reference for more details. */ public static PaymentIntent retrieve(String intent, RequestOptions options) throws StripeException { return retrieve(intent, (Map) null, options); } /** * Retrieves the details of a PaymentIntent that has previously been created. * *

Client-side retrieval using a publishable key is allowed when the client_secret * is provided in the query string. * *

When retrieved with a publishable key, only a subset of properties will be returned. Please * refer to the payment intent * object reference for more details. */ public static PaymentIntent retrieve(String intent, Map params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), String.format("/v1/payment_intents/%s", ApiResource.urlEncodeId(intent))); return ApiResource.request(ApiResource.RequestMethod.GET, url, params, PaymentIntent.class, options); } /** * Retrieves the details of a PaymentIntent that has previously been created. * *

Client-side retrieval using a publishable key is allowed when the client_secret * is provided in the query string. * *

When retrieved with a publishable key, only a subset of properties will be returned. Please * refer to the payment intent * object reference for more details. */ public static PaymentIntent retrieve(String intent, PaymentIntentRetrieveParams params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), String.format("/v1/payment_intents/%s", ApiResource.urlEncodeId(intent))); return ApiResource.request(ApiResource.RequestMethod.GET, url, params, PaymentIntent.class, options); } /** * Updates properties on a PaymentIntent object without confirming. * *

Depending on which properties you update, you may need to confirm the PaymentIntent again. * For example, updating the payment_method will always require you to confirm the * PaymentIntent again. If you prefer to update and confirm at the same time, we recommend * updating properties via the confirm API instead. */ @Override public PaymentIntent update(Map params) throws StripeException { return update(params, (RequestOptions) null); } /** * Updates properties on a PaymentIntent object without confirming. * *

Depending on which properties you update, you may need to confirm the PaymentIntent again. * For example, updating the payment_method will always require you to confirm the * PaymentIntent again. If you prefer to update and confirm at the same time, we recommend * updating properties via the confirm API instead. */ @Override public PaymentIntent update(Map params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), String.format("/v1/payment_intents/%s", ApiResource.urlEncodeId(this.getId()))); return ApiResource.request(ApiResource.RequestMethod.POST, url, params, PaymentIntent.class, options); } /** * Updates properties on a PaymentIntent object without confirming. * *

Depending on which properties you update, you may need to confirm the PaymentIntent again. * For example, updating the payment_method will always require you to confirm the * PaymentIntent again. If you prefer to update and confirm at the same time, we recommend * updating properties via the confirm API instead. */ public PaymentIntent update(PaymentIntentUpdateParams params) throws StripeException { return update(params, (RequestOptions) null); } /** * Updates properties on a PaymentIntent object without confirming. * *

Depending on which properties you update, you may need to confirm the PaymentIntent again. * For example, updating the payment_method will always require you to confirm the * PaymentIntent again. If you prefer to update and confirm at the same time, we recommend * updating properties via the confirm API instead. */ public PaymentIntent update(PaymentIntentUpdateParams params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), String.format("/v1/payment_intents/%s", ApiResource.urlEncodeId(this.getId()))); return ApiResource.request(ApiResource.RequestMethod.POST, url, params, PaymentIntent.class, options); } /** * Confirm that your customer intends to pay with current or provided payment method. Upon * confirmation, the PaymentIntent will attempt to initiate a payment. * *

If the selected payment method requires additional authentication steps, the PaymentIntent * will transition to the requires_action status and suggest additional actions via * next_action. If payment fails, the PaymentIntent will transition to the * requires_payment_method status. If payment succeeds, the PaymentIntent will transition * to the succeeded status (or requires_capture, if capture_method * is set to manual). * *

If the confirmation_method is automatic, payment may be attempted * using our client SDKs * and the PaymentIntent’s client_secret. After * next_actions are handled by the client, no additional confirmation is required to * complete the payment. * *

If the confirmation_method is manual, all payment attempts must be * initiated using a secret key. If any actions are required for the payment, the PaymentIntent * will return to the requires_confirmation state after those actions are completed. * Your server needs to then explicitly re-confirm the PaymentIntent to initiate the next payment * attempt. Read the expanded documentation * to learn more about manual confirmation. */ public PaymentIntent confirm() throws StripeException { return confirm((Map) null, (RequestOptions) null); } /** * Confirm that your customer intends to pay with current or provided payment method. Upon * confirmation, the PaymentIntent will attempt to initiate a payment. * *

If the selected payment method requires additional authentication steps, the PaymentIntent * will transition to the requires_action status and suggest additional actions via * next_action. If payment fails, the PaymentIntent will transition to the * requires_payment_method status. If payment succeeds, the PaymentIntent will transition * to the succeeded status (or requires_capture, if capture_method * is set to manual). * *

If the confirmation_method is automatic, payment may be attempted * using our client SDKs * and the PaymentIntent’s client_secret. After * next_actions are handled by the client, no additional confirmation is required to * complete the payment. * *

If the confirmation_method is manual, all payment attempts must be * initiated using a secret key. If any actions are required for the payment, the PaymentIntent * will return to the requires_confirmation state after those actions are completed. * Your server needs to then explicitly re-confirm the PaymentIntent to initiate the next payment * attempt. Read the expanded documentation * to learn more about manual confirmation. */ public PaymentIntent confirm(RequestOptions options) throws StripeException { return confirm((Map) null, options); } /** * Confirm that your customer intends to pay with current or provided payment method. Upon * confirmation, the PaymentIntent will attempt to initiate a payment. * *

If the selected payment method requires additional authentication steps, the PaymentIntent * will transition to the requires_action status and suggest additional actions via * next_action. If payment fails, the PaymentIntent will transition to the * requires_payment_method status. If payment succeeds, the PaymentIntent will transition * to the succeeded status (or requires_capture, if capture_method * is set to manual). * *

If the confirmation_method is automatic, payment may be attempted * using our client SDKs * and the PaymentIntent’s client_secret. After * next_actions are handled by the client, no additional confirmation is required to * complete the payment. * *

If the confirmation_method is manual, all payment attempts must be * initiated using a secret key. If any actions are required for the payment, the PaymentIntent * will return to the requires_confirmation state after those actions are completed. * Your server needs to then explicitly re-confirm the PaymentIntent to initiate the next payment * attempt. Read the expanded documentation * to learn more about manual confirmation. */ public PaymentIntent confirm(Map params) throws StripeException { return confirm(params, (RequestOptions) null); } /** * Confirm that your customer intends to pay with current or provided payment method. Upon * confirmation, the PaymentIntent will attempt to initiate a payment. * *

If the selected payment method requires additional authentication steps, the PaymentIntent * will transition to the requires_action status and suggest additional actions via * next_action. If payment fails, the PaymentIntent will transition to the * requires_payment_method status. If payment succeeds, the PaymentIntent will transition * to the succeeded status (or requires_capture, if capture_method * is set to manual). * *

If the confirmation_method is automatic, payment may be attempted * using our client SDKs * and the PaymentIntent’s client_secret. After * next_actions are handled by the client, no additional confirmation is required to * complete the payment. * *

If the confirmation_method is manual, all payment attempts must be * initiated using a secret key. If any actions are required for the payment, the PaymentIntent * will return to the requires_confirmation state after those actions are completed. * Your server needs to then explicitly re-confirm the PaymentIntent to initiate the next payment * attempt. Read the expanded documentation * to learn more about manual confirmation. */ public PaymentIntent confirm(Map params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), String.format("/v1/payment_intents/%s/confirm", ApiResource.urlEncodeId(this.getId()))); return ApiResource.request(ApiResource.RequestMethod.POST, url, params, PaymentIntent.class, options); } /** * Confirm that your customer intends to pay with current or provided payment method. Upon * confirmation, the PaymentIntent will attempt to initiate a payment. * *

If the selected payment method requires additional authentication steps, the PaymentIntent * will transition to the requires_action status and suggest additional actions via * next_action. If payment fails, the PaymentIntent will transition to the * requires_payment_method status. If payment succeeds, the PaymentIntent will transition * to the succeeded status (or requires_capture, if capture_method * is set to manual). * *

If the confirmation_method is automatic, payment may be attempted * using our client SDKs * and the PaymentIntent’s client_secret. After * next_actions are handled by the client, no additional confirmation is required to * complete the payment. * *

If the confirmation_method is manual, all payment attempts must be * initiated using a secret key. If any actions are required for the payment, the PaymentIntent * will return to the requires_confirmation state after those actions are completed. * Your server needs to then explicitly re-confirm the PaymentIntent to initiate the next payment * attempt. Read the expanded documentation * to learn more about manual confirmation. */ public PaymentIntent confirm(PaymentIntentConfirmParams params) throws StripeException { return confirm(params, (RequestOptions) null); } /** * Confirm that your customer intends to pay with current or provided payment method. Upon * confirmation, the PaymentIntent will attempt to initiate a payment. * *

If the selected payment method requires additional authentication steps, the PaymentIntent * will transition to the requires_action status and suggest additional actions via * next_action. If payment fails, the PaymentIntent will transition to the * requires_payment_method status. If payment succeeds, the PaymentIntent will transition * to the succeeded status (or requires_capture, if capture_method * is set to manual). * *

If the confirmation_method is automatic, payment may be attempted * using our client SDKs * and the PaymentIntent’s client_secret. After * next_actions are handled by the client, no additional confirmation is required to * complete the payment. * *

If the confirmation_method is manual, all payment attempts must be * initiated using a secret key. If any actions are required for the payment, the PaymentIntent * will return to the requires_confirmation state after those actions are completed. * Your server needs to then explicitly re-confirm the PaymentIntent to initiate the next payment * attempt. Read the expanded documentation * to learn more about manual confirmation. */ public PaymentIntent confirm(PaymentIntentConfirmParams params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), String.format("/v1/payment_intents/%s/confirm", ApiResource.urlEncodeId(this.getId()))); return ApiResource.request(ApiResource.RequestMethod.POST, url, params, PaymentIntent.class, options); } /** * A PaymentIntent object can be canceled when it is in one of these statuses: * requires_payment_method, requires_capture, requires_confirmation * , requires_action, or processing. * *

Once canceled, no additional charges will be made by the PaymentIntent and any operations on * the PaymentIntent will fail with an error. For PaymentIntents with * status=’requires_capture’, the remaining amount_capturable will * automatically be refunded. */ public PaymentIntent cancel() throws StripeException { return cancel((Map) null, (RequestOptions) null); } /** * A PaymentIntent object can be canceled when it is in one of these statuses: * requires_payment_method, requires_capture, requires_confirmation * , requires_action, or processing. * *

Once canceled, no additional charges will be made by the PaymentIntent and any operations on * the PaymentIntent will fail with an error. For PaymentIntents with * status=’requires_capture’, the remaining amount_capturable will * automatically be refunded. */ public PaymentIntent cancel(RequestOptions options) throws StripeException { return cancel((Map) null, options); } /** * A PaymentIntent object can be canceled when it is in one of these statuses: * requires_payment_method, requires_capture, requires_confirmation * , requires_action, or processing. * *

Once canceled, no additional charges will be made by the PaymentIntent and any operations on * the PaymentIntent will fail with an error. For PaymentIntents with * status=’requires_capture’, the remaining amount_capturable will * automatically be refunded. */ public PaymentIntent cancel(Map params) throws StripeException { return cancel(params, (RequestOptions) null); } /** * A PaymentIntent object can be canceled when it is in one of these statuses: * requires_payment_method, requires_capture, requires_confirmation * , requires_action, or processing. * *

Once canceled, no additional charges will be made by the PaymentIntent and any operations on * the PaymentIntent will fail with an error. For PaymentIntents with * status=’requires_capture’, the remaining amount_capturable will * automatically be refunded. */ public PaymentIntent cancel(Map params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), String.format("/v1/payment_intents/%s/cancel", ApiResource.urlEncodeId(this.getId()))); return ApiResource.request(ApiResource.RequestMethod.POST, url, params, PaymentIntent.class, options); } /** * A PaymentIntent object can be canceled when it is in one of these statuses: * requires_payment_method, requires_capture, requires_confirmation * , requires_action, or processing. * *

Once canceled, no additional charges will be made by the PaymentIntent and any operations on * the PaymentIntent will fail with an error. For PaymentIntents with * status=’requires_capture’, the remaining amount_capturable will * automatically be refunded. */ public PaymentIntent cancel(PaymentIntentCancelParams params) throws StripeException { return cancel(params, (RequestOptions) null); } /** * A PaymentIntent object can be canceled when it is in one of these statuses: * requires_payment_method, requires_capture, requires_confirmation * , requires_action, or processing. * *

Once canceled, no additional charges will be made by the PaymentIntent and any operations on * the PaymentIntent will fail with an error. For PaymentIntents with * status=’requires_capture’, the remaining amount_capturable will * automatically be refunded. */ public PaymentIntent cancel(PaymentIntentCancelParams params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), String.format("/v1/payment_intents/%s/cancel", ApiResource.urlEncodeId(this.getId()))); return ApiResource.request(ApiResource.RequestMethod.POST, url, params, PaymentIntent.class, options); } /** * Capture the funds of an existing uncaptured PaymentIntent when its status is * requires_capture. * *

Uncaptured PaymentIntents will be canceled a set number of days after they are created (7 by * default). * *

Learn more about separate * authorization and capture. */ public PaymentIntent capture() throws StripeException { return capture((Map) null, (RequestOptions) null); } /** * Capture the funds of an existing uncaptured PaymentIntent when its status is * requires_capture. * *

Uncaptured PaymentIntents will be canceled a set number of days after they are created (7 by * default). * *

Learn more about separate * authorization and capture. */ public PaymentIntent capture(RequestOptions options) throws StripeException { return capture((Map) null, options); } /** * Capture the funds of an existing uncaptured PaymentIntent when its status is * requires_capture. * *

Uncaptured PaymentIntents will be canceled a set number of days after they are created (7 by * default). * *

Learn more about separate * authorization and capture. */ public PaymentIntent capture(Map params) throws StripeException { return capture(params, (RequestOptions) null); } /** * Capture the funds of an existing uncaptured PaymentIntent when its status is * requires_capture. * *

Uncaptured PaymentIntents will be canceled a set number of days after they are created (7 by * default). * *

Learn more about separate * authorization and capture. */ public PaymentIntent capture(Map params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), String.format("/v1/payment_intents/%s/capture", ApiResource.urlEncodeId(this.getId()))); return ApiResource.request(ApiResource.RequestMethod.POST, url, params, PaymentIntent.class, options); } /** * Capture the funds of an existing uncaptured PaymentIntent when its status is * requires_capture. * *

Uncaptured PaymentIntents will be canceled a set number of days after they are created (7 by * default). * *

Learn more about separate * authorization and capture. */ public PaymentIntent capture(PaymentIntentCaptureParams params) throws StripeException { return capture(params, (RequestOptions) null); } /** * Capture the funds of an existing uncaptured PaymentIntent when its status is * requires_capture. * *

Uncaptured PaymentIntents will be canceled a set number of days after they are created (7 by * default). * *

Learn more about separate * authorization and capture. */ public PaymentIntent capture(PaymentIntentCaptureParams params, RequestOptions options) throws StripeException { String url = String.format("%s%s", Stripe.getApiBase(), String.format("/v1/payment_intents/%s/capture", ApiResource.urlEncodeId(this.getId()))); return ApiResource.request(ApiResource.RequestMethod.POST, url, params, PaymentIntent.class, options); } public static class NextAction extends StripeObject { @SerializedName("alipay_handle_redirect") NextActionAlipayHandleRedirect alipayHandleRedirect; @SerializedName("boleto_display_details") NextActionDisplayBoletoDetails boletoDisplayDetails; @SerializedName("oxxo_display_details") NextActionOxxoDisplayDetails oxxoDisplayDetails; @SerializedName("redirect_to_url") NextActionRedirectToUrl redirectToUrl; /** * Type of the next action to perform, one of {@code redirect_to_url}, {@code use_stripe_sdk}, * {@code alipay_handle_redirect}, {@code oxxo_display_details}, or {@code * verify_with_microdeposits}. */ @SerializedName("type") String type; /** * When confirming a PaymentIntent with Stripe.js, Stripe.js depends on the contents of this * dictionary to invoke authentication flows. The shape of the contents is subject to change and * is only intended to be used by Stripe.js. */ @SerializedName("use_stripe_sdk") Map useStripeSdk; @SerializedName("verify_with_microdeposits") VerifyWithMicrodeposits verifyWithMicrodeposits; @SerializedName("wechat_pay_display_qr_code") WechatPayDisplayQrCode wechatPayDisplayQrCode; @SerializedName("wechat_pay_redirect_to_android_app") WechatPayRedirectToAndroidApp wechatPayRedirectToAndroidApp; @SerializedName("wechat_pay_redirect_to_ios_app") WechatPayRedirectToIosApp wechatPayRedirectToIosApp; public static class VerifyWithMicrodeposits extends StripeObject { /** * The timestamp when the microdeposits are expected to land. */ @SerializedName("arrival_date") Long arrivalDate; /** * The URL for the hosted verification page, which allows customers to verify their bank * account. */ @SerializedName("hosted_verification_url") String hostedVerificationUrl; /** * The timestamp when the microdeposits are expected to land. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Long getArrivalDate() { return this.arrivalDate; } /** * The URL for the hosted verification page, which allows customers to verify their bank * account. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getHostedVerificationUrl() { return this.hostedVerificationUrl; } /** * The timestamp when the microdeposits are expected to land. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setArrivalDate(final Long arrivalDate) { this.arrivalDate = arrivalDate; } /** * The URL for the hosted verification page, which allows customers to verify their bank * account. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setHostedVerificationUrl(final String hostedVerificationUrl) { this.hostedVerificationUrl = hostedVerificationUrl; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.NextAction.VerifyWithMicrodeposits)) return false; final PaymentIntent.NextAction.VerifyWithMicrodeposits other = (PaymentIntent.NextAction.VerifyWithMicrodeposits) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$arrivalDate = this.getArrivalDate(); final java.lang.Object other$arrivalDate = other.getArrivalDate(); if (this$arrivalDate == null ? other$arrivalDate != null : !this$arrivalDate.equals(other$arrivalDate)) return false; final java.lang.Object this$hostedVerificationUrl = this.getHostedVerificationUrl(); final java.lang.Object other$hostedVerificationUrl = other.getHostedVerificationUrl(); if (this$hostedVerificationUrl == null ? other$hostedVerificationUrl != null : !this$hostedVerificationUrl.equals(other$hostedVerificationUrl)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.NextAction.VerifyWithMicrodeposits; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $arrivalDate = this.getArrivalDate(); result = result * PRIME + ($arrivalDate == null ? 43 : $arrivalDate.hashCode()); final java.lang.Object $hostedVerificationUrl = this.getHostedVerificationUrl(); result = result * PRIME + ($hostedVerificationUrl == null ? 43 : $hostedVerificationUrl.hashCode()); return result; } } public static class WechatPayDisplayQrCode extends StripeObject { /** * The data being used to generate QR code. */ @SerializedName("data") String data; /** * The base64 image data for a pre-generated QR code. */ @SerializedName("image_data_url") String imageDataUrl; /** * The data being used to generate QR code. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getData() { return this.data; } /** * The base64 image data for a pre-generated QR code. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getImageDataUrl() { return this.imageDataUrl; } /** * The data being used to generate QR code. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setData(final String data) { this.data = data; } /** * The base64 image data for a pre-generated QR code. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setImageDataUrl(final String imageDataUrl) { this.imageDataUrl = imageDataUrl; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.NextAction.WechatPayDisplayQrCode)) return false; final PaymentIntent.NextAction.WechatPayDisplayQrCode other = (PaymentIntent.NextAction.WechatPayDisplayQrCode) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$data = this.getData(); final java.lang.Object other$data = other.getData(); if (this$data == null ? other$data != null : !this$data.equals(other$data)) return false; final java.lang.Object this$imageDataUrl = this.getImageDataUrl(); final java.lang.Object other$imageDataUrl = other.getImageDataUrl(); if (this$imageDataUrl == null ? other$imageDataUrl != null : !this$imageDataUrl.equals(other$imageDataUrl)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.NextAction.WechatPayDisplayQrCode; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $data = this.getData(); result = result * PRIME + ($data == null ? 43 : $data.hashCode()); final java.lang.Object $imageDataUrl = this.getImageDataUrl(); result = result * PRIME + ($imageDataUrl == null ? 43 : $imageDataUrl.hashCode()); return result; } } public static class WechatPayRedirectToAndroidApp extends StripeObject { /** * app_id is the APP ID registered on WeChat open platform. */ @SerializedName("app_id") String appId; /** * nonce_str is a random string. */ @SerializedName("nonce_str") String nonceStr; /** * an unique merchant ID assigned by Wechat Pay. */ @SerializedName("partner_id") String partnerId; /** * an unique trading ID assigned by Wechat Pay. */ @SerializedName("prepay_id") String prepayId; /** * A signature. */ @SerializedName("sign") String sign; /** * Specifies the current time in epoch format. */ @SerializedName("timestamp") String timestamp; // package is a reserved word so we append an // underscore to the private field and expose // a custom getter and setter @SerializedName("package") String package_; public String getPackage() { return this.package_; } public void setPackage(String package_) { this.package_ = package_; } /** * app_id is the APP ID registered on WeChat open platform. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getAppId() { return this.appId; } /** * nonce_str is a random string. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getNonceStr() { return this.nonceStr; } /** * an unique merchant ID assigned by Wechat Pay. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getPartnerId() { return this.partnerId; } /** * an unique trading ID assigned by Wechat Pay. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getPrepayId() { return this.prepayId; } /** * A signature. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getSign() { return this.sign; } /** * Specifies the current time in epoch format. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getTimestamp() { return this.timestamp; } @java.lang.SuppressWarnings("all") @lombok.Generated public String getPackage_() { return this.package_; } /** * app_id is the APP ID registered on WeChat open platform. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setAppId(final String appId) { this.appId = appId; } /** * nonce_str is a random string. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setNonceStr(final String nonceStr) { this.nonceStr = nonceStr; } /** * an unique merchant ID assigned by Wechat Pay. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setPartnerId(final String partnerId) { this.partnerId = partnerId; } /** * an unique trading ID assigned by Wechat Pay. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setPrepayId(final String prepayId) { this.prepayId = prepayId; } /** * A signature. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setSign(final String sign) { this.sign = sign; } /** * Specifies the current time in epoch format. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setTimestamp(final String timestamp) { this.timestamp = timestamp; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setPackage_(final String package_) { this.package_ = package_; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.NextAction.WechatPayRedirectToAndroidApp)) return false; final PaymentIntent.NextAction.WechatPayRedirectToAndroidApp other = (PaymentIntent.NextAction.WechatPayRedirectToAndroidApp) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$appId = this.getAppId(); final java.lang.Object other$appId = other.getAppId(); if (this$appId == null ? other$appId != null : !this$appId.equals(other$appId)) return false; final java.lang.Object this$nonceStr = this.getNonceStr(); final java.lang.Object other$nonceStr = other.getNonceStr(); if (this$nonceStr == null ? other$nonceStr != null : !this$nonceStr.equals(other$nonceStr)) return false; final java.lang.Object this$partnerId = this.getPartnerId(); final java.lang.Object other$partnerId = other.getPartnerId(); if (this$partnerId == null ? other$partnerId != null : !this$partnerId.equals(other$partnerId)) return false; final java.lang.Object this$prepayId = this.getPrepayId(); final java.lang.Object other$prepayId = other.getPrepayId(); if (this$prepayId == null ? other$prepayId != null : !this$prepayId.equals(other$prepayId)) return false; final java.lang.Object this$sign = this.getSign(); final java.lang.Object other$sign = other.getSign(); if (this$sign == null ? other$sign != null : !this$sign.equals(other$sign)) return false; final java.lang.Object this$timestamp = this.getTimestamp(); final java.lang.Object other$timestamp = other.getTimestamp(); if (this$timestamp == null ? other$timestamp != null : !this$timestamp.equals(other$timestamp)) return false; final java.lang.Object this$package_ = this.getPackage_(); final java.lang.Object other$package_ = other.getPackage_(); if (this$package_ == null ? other$package_ != null : !this$package_.equals(other$package_)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.NextAction.WechatPayRedirectToAndroidApp; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $appId = this.getAppId(); result = result * PRIME + ($appId == null ? 43 : $appId.hashCode()); final java.lang.Object $nonceStr = this.getNonceStr(); result = result * PRIME + ($nonceStr == null ? 43 : $nonceStr.hashCode()); final java.lang.Object $partnerId = this.getPartnerId(); result = result * PRIME + ($partnerId == null ? 43 : $partnerId.hashCode()); final java.lang.Object $prepayId = this.getPrepayId(); result = result * PRIME + ($prepayId == null ? 43 : $prepayId.hashCode()); final java.lang.Object $sign = this.getSign(); result = result * PRIME + ($sign == null ? 43 : $sign.hashCode()); final java.lang.Object $timestamp = this.getTimestamp(); result = result * PRIME + ($timestamp == null ? 43 : $timestamp.hashCode()); final java.lang.Object $package_ = this.getPackage_(); result = result * PRIME + ($package_ == null ? 43 : $package_.hashCode()); return result; } } public static class WechatPayRedirectToIosApp extends StripeObject { @SerializedName("native_url") String nativeUrl; @java.lang.SuppressWarnings("all") @lombok.Generated public String getNativeUrl() { return this.nativeUrl; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setNativeUrl(final String nativeUrl) { this.nativeUrl = nativeUrl; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.NextAction.WechatPayRedirectToIosApp)) return false; final PaymentIntent.NextAction.WechatPayRedirectToIosApp other = (PaymentIntent.NextAction.WechatPayRedirectToIosApp) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$nativeUrl = this.getNativeUrl(); final java.lang.Object other$nativeUrl = other.getNativeUrl(); if (this$nativeUrl == null ? other$nativeUrl != null : !this$nativeUrl.equals(other$nativeUrl)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.NextAction.WechatPayRedirectToIosApp; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $nativeUrl = this.getNativeUrl(); result = result * PRIME + ($nativeUrl == null ? 43 : $nativeUrl.hashCode()); return result; } } @java.lang.SuppressWarnings("all") @lombok.Generated public NextActionAlipayHandleRedirect getAlipayHandleRedirect() { return this.alipayHandleRedirect; } @java.lang.SuppressWarnings("all") @lombok.Generated public NextActionDisplayBoletoDetails getBoletoDisplayDetails() { return this.boletoDisplayDetails; } @java.lang.SuppressWarnings("all") @lombok.Generated public NextActionOxxoDisplayDetails getOxxoDisplayDetails() { return this.oxxoDisplayDetails; } @java.lang.SuppressWarnings("all") @lombok.Generated public NextActionRedirectToUrl getRedirectToUrl() { return this.redirectToUrl; } /** * Type of the next action to perform, one of {@code redirect_to_url}, {@code use_stripe_sdk}, * {@code alipay_handle_redirect}, {@code oxxo_display_details}, or {@code * verify_with_microdeposits}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getType() { return this.type; } /** * When confirming a PaymentIntent with Stripe.js, Stripe.js depends on the contents of this * dictionary to invoke authentication flows. The shape of the contents is subject to change and * is only intended to be used by Stripe.js. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Map getUseStripeSdk() { return this.useStripeSdk; } @java.lang.SuppressWarnings("all") @lombok.Generated public VerifyWithMicrodeposits getVerifyWithMicrodeposits() { return this.verifyWithMicrodeposits; } @java.lang.SuppressWarnings("all") @lombok.Generated public WechatPayDisplayQrCode getWechatPayDisplayQrCode() { return this.wechatPayDisplayQrCode; } @java.lang.SuppressWarnings("all") @lombok.Generated public WechatPayRedirectToAndroidApp getWechatPayRedirectToAndroidApp() { return this.wechatPayRedirectToAndroidApp; } @java.lang.SuppressWarnings("all") @lombok.Generated public WechatPayRedirectToIosApp getWechatPayRedirectToIosApp() { return this.wechatPayRedirectToIosApp; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setAlipayHandleRedirect(final NextActionAlipayHandleRedirect alipayHandleRedirect) { this.alipayHandleRedirect = alipayHandleRedirect; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setBoletoDisplayDetails(final NextActionDisplayBoletoDetails boletoDisplayDetails) { this.boletoDisplayDetails = boletoDisplayDetails; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setOxxoDisplayDetails(final NextActionOxxoDisplayDetails oxxoDisplayDetails) { this.oxxoDisplayDetails = oxxoDisplayDetails; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setRedirectToUrl(final NextActionRedirectToUrl redirectToUrl) { this.redirectToUrl = redirectToUrl; } /** * Type of the next action to perform, one of {@code redirect_to_url}, {@code use_stripe_sdk}, * {@code alipay_handle_redirect}, {@code oxxo_display_details}, or {@code * verify_with_microdeposits}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setType(final String type) { this.type = type; } /** * When confirming a PaymentIntent with Stripe.js, Stripe.js depends on the contents of this * dictionary to invoke authentication flows. The shape of the contents is subject to change and * is only intended to be used by Stripe.js. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setUseStripeSdk(final Map useStripeSdk) { this.useStripeSdk = useStripeSdk; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setVerifyWithMicrodeposits(final VerifyWithMicrodeposits verifyWithMicrodeposits) { this.verifyWithMicrodeposits = verifyWithMicrodeposits; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setWechatPayDisplayQrCode(final WechatPayDisplayQrCode wechatPayDisplayQrCode) { this.wechatPayDisplayQrCode = wechatPayDisplayQrCode; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setWechatPayRedirectToAndroidApp(final WechatPayRedirectToAndroidApp wechatPayRedirectToAndroidApp) { this.wechatPayRedirectToAndroidApp = wechatPayRedirectToAndroidApp; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setWechatPayRedirectToIosApp(final WechatPayRedirectToIosApp wechatPayRedirectToIosApp) { this.wechatPayRedirectToIosApp = wechatPayRedirectToIosApp; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.NextAction)) return false; final PaymentIntent.NextAction other = (PaymentIntent.NextAction) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$alipayHandleRedirect = this.getAlipayHandleRedirect(); final java.lang.Object other$alipayHandleRedirect = other.getAlipayHandleRedirect(); if (this$alipayHandleRedirect == null ? other$alipayHandleRedirect != null : !this$alipayHandleRedirect.equals(other$alipayHandleRedirect)) return false; final java.lang.Object this$boletoDisplayDetails = this.getBoletoDisplayDetails(); final java.lang.Object other$boletoDisplayDetails = other.getBoletoDisplayDetails(); if (this$boletoDisplayDetails == null ? other$boletoDisplayDetails != null : !this$boletoDisplayDetails.equals(other$boletoDisplayDetails)) return false; final java.lang.Object this$oxxoDisplayDetails = this.getOxxoDisplayDetails(); final java.lang.Object other$oxxoDisplayDetails = other.getOxxoDisplayDetails(); if (this$oxxoDisplayDetails == null ? other$oxxoDisplayDetails != null : !this$oxxoDisplayDetails.equals(other$oxxoDisplayDetails)) return false; final java.lang.Object this$redirectToUrl = this.getRedirectToUrl(); final java.lang.Object other$redirectToUrl = other.getRedirectToUrl(); if (this$redirectToUrl == null ? other$redirectToUrl != null : !this$redirectToUrl.equals(other$redirectToUrl)) return false; final java.lang.Object this$type = this.getType(); final java.lang.Object other$type = other.getType(); if (this$type == null ? other$type != null : !this$type.equals(other$type)) return false; final java.lang.Object this$useStripeSdk = this.getUseStripeSdk(); final java.lang.Object other$useStripeSdk = other.getUseStripeSdk(); if (this$useStripeSdk == null ? other$useStripeSdk != null : !this$useStripeSdk.equals(other$useStripeSdk)) return false; final java.lang.Object this$verifyWithMicrodeposits = this.getVerifyWithMicrodeposits(); final java.lang.Object other$verifyWithMicrodeposits = other.getVerifyWithMicrodeposits(); if (this$verifyWithMicrodeposits == null ? other$verifyWithMicrodeposits != null : !this$verifyWithMicrodeposits.equals(other$verifyWithMicrodeposits)) return false; final java.lang.Object this$wechatPayDisplayQrCode = this.getWechatPayDisplayQrCode(); final java.lang.Object other$wechatPayDisplayQrCode = other.getWechatPayDisplayQrCode(); if (this$wechatPayDisplayQrCode == null ? other$wechatPayDisplayQrCode != null : !this$wechatPayDisplayQrCode.equals(other$wechatPayDisplayQrCode)) return false; final java.lang.Object this$wechatPayRedirectToAndroidApp = this.getWechatPayRedirectToAndroidApp(); final java.lang.Object other$wechatPayRedirectToAndroidApp = other.getWechatPayRedirectToAndroidApp(); if (this$wechatPayRedirectToAndroidApp == null ? other$wechatPayRedirectToAndroidApp != null : !this$wechatPayRedirectToAndroidApp.equals(other$wechatPayRedirectToAndroidApp)) return false; final java.lang.Object this$wechatPayRedirectToIosApp = this.getWechatPayRedirectToIosApp(); final java.lang.Object other$wechatPayRedirectToIosApp = other.getWechatPayRedirectToIosApp(); if (this$wechatPayRedirectToIosApp == null ? other$wechatPayRedirectToIosApp != null : !this$wechatPayRedirectToIosApp.equals(other$wechatPayRedirectToIosApp)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.NextAction; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $alipayHandleRedirect = this.getAlipayHandleRedirect(); result = result * PRIME + ($alipayHandleRedirect == null ? 43 : $alipayHandleRedirect.hashCode()); final java.lang.Object $boletoDisplayDetails = this.getBoletoDisplayDetails(); result = result * PRIME + ($boletoDisplayDetails == null ? 43 : $boletoDisplayDetails.hashCode()); final java.lang.Object $oxxoDisplayDetails = this.getOxxoDisplayDetails(); result = result * PRIME + ($oxxoDisplayDetails == null ? 43 : $oxxoDisplayDetails.hashCode()); final java.lang.Object $redirectToUrl = this.getRedirectToUrl(); result = result * PRIME + ($redirectToUrl == null ? 43 : $redirectToUrl.hashCode()); final java.lang.Object $type = this.getType(); result = result * PRIME + ($type == null ? 43 : $type.hashCode()); final java.lang.Object $useStripeSdk = this.getUseStripeSdk(); result = result * PRIME + ($useStripeSdk == null ? 43 : $useStripeSdk.hashCode()); final java.lang.Object $verifyWithMicrodeposits = this.getVerifyWithMicrodeposits(); result = result * PRIME + ($verifyWithMicrodeposits == null ? 43 : $verifyWithMicrodeposits.hashCode()); final java.lang.Object $wechatPayDisplayQrCode = this.getWechatPayDisplayQrCode(); result = result * PRIME + ($wechatPayDisplayQrCode == null ? 43 : $wechatPayDisplayQrCode.hashCode()); final java.lang.Object $wechatPayRedirectToAndroidApp = this.getWechatPayRedirectToAndroidApp(); result = result * PRIME + ($wechatPayRedirectToAndroidApp == null ? 43 : $wechatPayRedirectToAndroidApp.hashCode()); final java.lang.Object $wechatPayRedirectToIosApp = this.getWechatPayRedirectToIosApp(); result = result * PRIME + ($wechatPayRedirectToIosApp == null ? 43 : $wechatPayRedirectToIosApp.hashCode()); return result; } } /** * An universal link that redirect to Wechat Pay APP. */ public static class NextActionAlipayHandleRedirect extends StripeObject { /** * The native data to be used with Alipay SDK you must redirect your customer to in order to * authenticate the payment in an Android App. */ @SerializedName("native_data") String nativeData; /** * The native URL you must redirect your customer to in order to authenticate the payment in an * iOS App. */ @SerializedName("native_url") String nativeUrl; /** * If the customer does not exit their browser while authenticating, they will be redirected to * this specified URL after completion. */ @SerializedName("return_url") String returnUrl; /** * The URL you must redirect your customer to in order to authenticate the payment. */ @SerializedName("url") String url; /** * The native data to be used with Alipay SDK you must redirect your customer to in order to * authenticate the payment in an Android App. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getNativeData() { return this.nativeData; } /** * The native URL you must redirect your customer to in order to authenticate the payment in an * iOS App. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getNativeUrl() { return this.nativeUrl; } /** * If the customer does not exit their browser while authenticating, they will be redirected to * this specified URL after completion. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getReturnUrl() { return this.returnUrl; } /** * The URL you must redirect your customer to in order to authenticate the payment. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getUrl() { return this.url; } /** * The native data to be used with Alipay SDK you must redirect your customer to in order to * authenticate the payment in an Android App. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setNativeData(final String nativeData) { this.nativeData = nativeData; } /** * The native URL you must redirect your customer to in order to authenticate the payment in an * iOS App. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setNativeUrl(final String nativeUrl) { this.nativeUrl = nativeUrl; } /** * If the customer does not exit their browser while authenticating, they will be redirected to * this specified URL after completion. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setReturnUrl(final String returnUrl) { this.returnUrl = returnUrl; } /** * The URL you must redirect your customer to in order to authenticate the payment. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setUrl(final String url) { this.url = url; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.NextActionAlipayHandleRedirect)) return false; final PaymentIntent.NextActionAlipayHandleRedirect other = (PaymentIntent.NextActionAlipayHandleRedirect) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$nativeData = this.getNativeData(); final java.lang.Object other$nativeData = other.getNativeData(); if (this$nativeData == null ? other$nativeData != null : !this$nativeData.equals(other$nativeData)) return false; final java.lang.Object this$nativeUrl = this.getNativeUrl(); final java.lang.Object other$nativeUrl = other.getNativeUrl(); if (this$nativeUrl == null ? other$nativeUrl != null : !this$nativeUrl.equals(other$nativeUrl)) return false; final java.lang.Object this$returnUrl = this.getReturnUrl(); final java.lang.Object other$returnUrl = other.getReturnUrl(); if (this$returnUrl == null ? other$returnUrl != null : !this$returnUrl.equals(other$returnUrl)) return false; final java.lang.Object this$url = this.getUrl(); final java.lang.Object other$url = other.getUrl(); if (this$url == null ? other$url != null : !this$url.equals(other$url)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.NextActionAlipayHandleRedirect; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $nativeData = this.getNativeData(); result = result * PRIME + ($nativeData == null ? 43 : $nativeData.hashCode()); final java.lang.Object $nativeUrl = this.getNativeUrl(); result = result * PRIME + ($nativeUrl == null ? 43 : $nativeUrl.hashCode()); final java.lang.Object $returnUrl = this.getReturnUrl(); result = result * PRIME + ($returnUrl == null ? 43 : $returnUrl.hashCode()); final java.lang.Object $url = this.getUrl(); result = result * PRIME + ($url == null ? 43 : $url.hashCode()); return result; } } public static class NextActionDisplayBoletoDetails extends StripeObject { /** * The timestamp after which the boleto expires. */ @SerializedName("expires_at") Long expiresAt; /** * The URL to the hosted boleto voucher page, which allows customers to view the boleto voucher. */ @SerializedName("hosted_voucher_url") String hostedVoucherUrl; /** * The boleto number. */ @SerializedName("number") String number; /** * The URL to the downloadable boleto voucher PDF. */ @SerializedName("pdf") String pdf; /** * The timestamp after which the boleto expires. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Long getExpiresAt() { return this.expiresAt; } /** * The URL to the hosted boleto voucher page, which allows customers to view the boleto voucher. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getHostedVoucherUrl() { return this.hostedVoucherUrl; } /** * The boleto number. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getNumber() { return this.number; } /** * The URL to the downloadable boleto voucher PDF. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getPdf() { return this.pdf; } /** * The timestamp after which the boleto expires. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setExpiresAt(final Long expiresAt) { this.expiresAt = expiresAt; } /** * The URL to the hosted boleto voucher page, which allows customers to view the boleto voucher. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setHostedVoucherUrl(final String hostedVoucherUrl) { this.hostedVoucherUrl = hostedVoucherUrl; } /** * The boleto number. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setNumber(final String number) { this.number = number; } /** * The URL to the downloadable boleto voucher PDF. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setPdf(final String pdf) { this.pdf = pdf; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.NextActionDisplayBoletoDetails)) return false; final PaymentIntent.NextActionDisplayBoletoDetails other = (PaymentIntent.NextActionDisplayBoletoDetails) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$expiresAt = this.getExpiresAt(); final java.lang.Object other$expiresAt = other.getExpiresAt(); if (this$expiresAt == null ? other$expiresAt != null : !this$expiresAt.equals(other$expiresAt)) return false; final java.lang.Object this$hostedVoucherUrl = this.getHostedVoucherUrl(); final java.lang.Object other$hostedVoucherUrl = other.getHostedVoucherUrl(); if (this$hostedVoucherUrl == null ? other$hostedVoucherUrl != null : !this$hostedVoucherUrl.equals(other$hostedVoucherUrl)) return false; final java.lang.Object this$number = this.getNumber(); final java.lang.Object other$number = other.getNumber(); if (this$number == null ? other$number != null : !this$number.equals(other$number)) return false; final java.lang.Object this$pdf = this.getPdf(); final java.lang.Object other$pdf = other.getPdf(); if (this$pdf == null ? other$pdf != null : !this$pdf.equals(other$pdf)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.NextActionDisplayBoletoDetails; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $expiresAt = this.getExpiresAt(); result = result * PRIME + ($expiresAt == null ? 43 : $expiresAt.hashCode()); final java.lang.Object $hostedVoucherUrl = this.getHostedVoucherUrl(); result = result * PRIME + ($hostedVoucherUrl == null ? 43 : $hostedVoucherUrl.hashCode()); final java.lang.Object $number = this.getNumber(); result = result * PRIME + ($number == null ? 43 : $number.hashCode()); final java.lang.Object $pdf = this.getPdf(); result = result * PRIME + ($pdf == null ? 43 : $pdf.hashCode()); return result; } } public static class NextActionOxxoDisplayDetails extends StripeObject { /** * The timestamp after which the OXXO voucher expires. */ @SerializedName("expires_after") Long expiresAfter; /** * The URL for the hosted OXXO voucher page, which allows customers to view and print an OXXO * voucher. */ @SerializedName("hosted_voucher_url") String hostedVoucherUrl; /** * OXXO reference number. */ @SerializedName("number") String number; /** * The timestamp after which the OXXO voucher expires. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Long getExpiresAfter() { return this.expiresAfter; } /** * The URL for the hosted OXXO voucher page, which allows customers to view and print an OXXO * voucher. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getHostedVoucherUrl() { return this.hostedVoucherUrl; } /** * OXXO reference number. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getNumber() { return this.number; } /** * The timestamp after which the OXXO voucher expires. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setExpiresAfter(final Long expiresAfter) { this.expiresAfter = expiresAfter; } /** * The URL for the hosted OXXO voucher page, which allows customers to view and print an OXXO * voucher. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setHostedVoucherUrl(final String hostedVoucherUrl) { this.hostedVoucherUrl = hostedVoucherUrl; } /** * OXXO reference number. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setNumber(final String number) { this.number = number; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.NextActionOxxoDisplayDetails)) return false; final PaymentIntent.NextActionOxxoDisplayDetails other = (PaymentIntent.NextActionOxxoDisplayDetails) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$expiresAfter = this.getExpiresAfter(); final java.lang.Object other$expiresAfter = other.getExpiresAfter(); if (this$expiresAfter == null ? other$expiresAfter != null : !this$expiresAfter.equals(other$expiresAfter)) return false; final java.lang.Object this$hostedVoucherUrl = this.getHostedVoucherUrl(); final java.lang.Object other$hostedVoucherUrl = other.getHostedVoucherUrl(); if (this$hostedVoucherUrl == null ? other$hostedVoucherUrl != null : !this$hostedVoucherUrl.equals(other$hostedVoucherUrl)) return false; final java.lang.Object this$number = this.getNumber(); final java.lang.Object other$number = other.getNumber(); if (this$number == null ? other$number != null : !this$number.equals(other$number)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.NextActionOxxoDisplayDetails; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $expiresAfter = this.getExpiresAfter(); result = result * PRIME + ($expiresAfter == null ? 43 : $expiresAfter.hashCode()); final java.lang.Object $hostedVoucherUrl = this.getHostedVoucherUrl(); result = result * PRIME + ($hostedVoucherUrl == null ? 43 : $hostedVoucherUrl.hashCode()); final java.lang.Object $number = this.getNumber(); result = result * PRIME + ($number == null ? 43 : $number.hashCode()); return result; } } public static class NextActionRedirectToUrl extends StripeObject { /** * If the customer does not exit their browser while authenticating, they will be redirected to * this specified URL after completion. */ @SerializedName("return_url") String returnUrl; /** * The URL you must redirect your customer to in order to authenticate the payment. */ @SerializedName("url") String url; /** * If the customer does not exit their browser while authenticating, they will be redirected to * this specified URL after completion. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getReturnUrl() { return this.returnUrl; } /** * The URL you must redirect your customer to in order to authenticate the payment. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getUrl() { return this.url; } /** * If the customer does not exit their browser while authenticating, they will be redirected to * this specified URL after completion. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setReturnUrl(final String returnUrl) { this.returnUrl = returnUrl; } /** * The URL you must redirect your customer to in order to authenticate the payment. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setUrl(final String url) { this.url = url; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.NextActionRedirectToUrl)) return false; final PaymentIntent.NextActionRedirectToUrl other = (PaymentIntent.NextActionRedirectToUrl) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$returnUrl = this.getReturnUrl(); final java.lang.Object other$returnUrl = other.getReturnUrl(); if (this$returnUrl == null ? other$returnUrl != null : !this$returnUrl.equals(other$returnUrl)) return false; final java.lang.Object this$url = this.getUrl(); final java.lang.Object other$url = other.getUrl(); if (this$url == null ? other$url != null : !this$url.equals(other$url)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.NextActionRedirectToUrl; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $returnUrl = this.getReturnUrl(); result = result * PRIME + ($returnUrl == null ? 43 : $returnUrl.hashCode()); final java.lang.Object $url = this.getUrl(); result = result * PRIME + ($url == null ? 43 : $url.hashCode()); return result; } } public static class PaymentMethodOptions extends StripeObject { @SerializedName("acss_debit") AcssDebit acssDebit; @SerializedName("afterpay_clearpay") AfterpayClearpay afterpayClearpay; @SerializedName("alipay") Alipay alipay; @SerializedName("bancontact") Bancontact bancontact; @SerializedName("boleto") Boleto boleto; @SerializedName("card") Card card; @SerializedName("card_present") CardPresent cardPresent; @SerializedName("ideal") Ideal ideal; @SerializedName("interac_present") InteracPresent interacPresent; @SerializedName("klarna") Klarna klarna; @SerializedName("oxxo") Oxxo oxxo; @SerializedName("p24") P24 p24; @SerializedName("sepa_debit") SepaDebit sepaDebit; @SerializedName("sofort") Sofort sofort; @SerializedName("wechat_pay") WechatPay wechatPay; public static class AcssDebit extends StripeObject { @SerializedName("mandate_options") MandateOptions mandateOptions; /** * Bank account verification method. * *

One of {@code automatic}, {@code instant}, or {@code microdeposits}. */ @SerializedName("verification_method") String verificationMethod; public static class MandateOptions extends StripeObject { /** A URL for custom mandate text. */ @SerializedName("custom_mandate_url") String customMandateUrl; /** * Description of the interval. Only required if the 'payment_schedule' parameter is * 'interval' or 'combined'. */ @SerializedName("interval_description") String intervalDescription; /** * Payment schedule for the mandate. * *

One of {@code combined}, {@code interval}, or {@code sporadic}. */ @SerializedName("payment_schedule") String paymentSchedule; @SerializedName("transaction_type") String transactionType; @java.lang.SuppressWarnings("all") @lombok.Generated public String getCustomMandateUrl() { return this.customMandateUrl; } @java.lang.SuppressWarnings("all") @lombok.Generated public String getIntervalDescription() { return this.intervalDescription; } @java.lang.SuppressWarnings("all") @lombok.Generated public String getPaymentSchedule() { return this.paymentSchedule; } @java.lang.SuppressWarnings("all") @lombok.Generated public String getTransactionType() { return this.transactionType; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setCustomMandateUrl(final String customMandateUrl) { this.customMandateUrl = customMandateUrl; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setIntervalDescription(final String intervalDescription) { this.intervalDescription = intervalDescription; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setPaymentSchedule(final String paymentSchedule) { this.paymentSchedule = paymentSchedule; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setTransactionType(final String transactionType) { this.transactionType = transactionType; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions)) return false; final PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions other = (PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$customMandateUrl = this.getCustomMandateUrl(); final java.lang.Object other$customMandateUrl = other.getCustomMandateUrl(); if (this$customMandateUrl == null ? other$customMandateUrl != null : !this$customMandateUrl.equals(other$customMandateUrl)) return false; final java.lang.Object this$intervalDescription = this.getIntervalDescription(); final java.lang.Object other$intervalDescription = other.getIntervalDescription(); if (this$intervalDescription == null ? other$intervalDescription != null : !this$intervalDescription.equals(other$intervalDescription)) return false; final java.lang.Object this$paymentSchedule = this.getPaymentSchedule(); final java.lang.Object other$paymentSchedule = other.getPaymentSchedule(); if (this$paymentSchedule == null ? other$paymentSchedule != null : !this$paymentSchedule.equals(other$paymentSchedule)) return false; final java.lang.Object this$transactionType = this.getTransactionType(); final java.lang.Object other$transactionType = other.getTransactionType(); if (this$transactionType == null ? other$transactionType != null : !this$transactionType.equals(other$transactionType)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $customMandateUrl = this.getCustomMandateUrl(); result = result * PRIME + ($customMandateUrl == null ? 43 : $customMandateUrl.hashCode()); final java.lang.Object $intervalDescription = this.getIntervalDescription(); result = result * PRIME + ($intervalDescription == null ? 43 : $intervalDescription.hashCode()); final java.lang.Object $paymentSchedule = this.getPaymentSchedule(); result = result * PRIME + ($paymentSchedule == null ? 43 : $paymentSchedule.hashCode()); final java.lang.Object $transactionType = this.getTransactionType(); result = result * PRIME + ($transactionType == null ? 43 : $transactionType.hashCode()); return result; } } @java.lang.SuppressWarnings("all") @lombok.Generated public MandateOptions getMandateOptions() { return this.mandateOptions; } /** * Bank account verification method. * *

One of {@code automatic}, {@code instant}, or {@code microdeposits}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getVerificationMethod() { return this.verificationMethod; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setMandateOptions(final MandateOptions mandateOptions) { this.mandateOptions = mandateOptions; } /** * Bank account verification method. * *

One of {@code automatic}, {@code instant}, or {@code microdeposits}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setVerificationMethod(final String verificationMethod) { this.verificationMethod = verificationMethod; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.AcssDebit)) return false; final PaymentIntent.PaymentMethodOptions.AcssDebit other = (PaymentIntent.PaymentMethodOptions.AcssDebit) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$mandateOptions = this.getMandateOptions(); final java.lang.Object other$mandateOptions = other.getMandateOptions(); if (this$mandateOptions == null ? other$mandateOptions != null : !this$mandateOptions.equals(other$mandateOptions)) return false; final java.lang.Object this$verificationMethod = this.getVerificationMethod(); final java.lang.Object other$verificationMethod = other.getVerificationMethod(); if (this$verificationMethod == null ? other$verificationMethod != null : !this$verificationMethod.equals(other$verificationMethod)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.AcssDebit; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $mandateOptions = this.getMandateOptions(); result = result * PRIME + ($mandateOptions == null ? 43 : $mandateOptions.hashCode()); final java.lang.Object $verificationMethod = this.getVerificationMethod(); result = result * PRIME + ($verificationMethod == null ? 43 : $verificationMethod.hashCode()); return result; } } /** * Transaction type of the mandate. * *

One of {@code business}, or {@code personal}. */ public static class AfterpayClearpay extends StripeObject { /** * Order identifier shown to the merchant in Afterpay’s online portal. We recommend using a * value that helps you answer any questions a customer might have about the payment. The * identifier is limited to 128 characters and may contain only letters, digits, underscores, * backslashes and dashes. */ @SerializedName("reference") String reference; /** * Order identifier shown to the merchant in Afterpay’s online portal. We recommend using a * value that helps you answer any questions a customer might have about the payment. The * identifier is limited to 128 characters and may contain only letters, digits, underscores, * backslashes and dashes. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getReference() { return this.reference; } /** * Order identifier shown to the merchant in Afterpay’s online portal. We recommend using a * value that helps you answer any questions a customer might have about the payment. The * identifier is limited to 128 characters and may contain only letters, digits, underscores, * backslashes and dashes. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setReference(final String reference) { this.reference = reference; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.AfterpayClearpay)) return false; final PaymentIntent.PaymentMethodOptions.AfterpayClearpay other = (PaymentIntent.PaymentMethodOptions.AfterpayClearpay) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$reference = this.getReference(); final java.lang.Object other$reference = other.getReference(); if (this$reference == null ? other$reference != null : !this$reference.equals(other$reference)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.AfterpayClearpay; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $reference = this.getReference(); result = result * PRIME + ($reference == null ? 43 : $reference.hashCode()); return result; } } public static class Alipay extends StripeObject { @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.Alipay)) return false; final PaymentIntent.PaymentMethodOptions.Alipay other = (PaymentIntent.PaymentMethodOptions.Alipay) o; if (!other.canEqual((java.lang.Object) this)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.Alipay; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int result = 1; return result; } } public static class Bancontact extends StripeObject { /** * Preferred language of the Bancontact authorization page that the customer is redirected to. * *

One of {@code de}, {@code en}, {@code fr}, or {@code nl}. */ @SerializedName("preferred_language") String preferredLanguage; /** * Preferred language of the Bancontact authorization page that the customer is redirected to. * *

One of {@code de}, {@code en}, {@code fr}, or {@code nl}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getPreferredLanguage() { return this.preferredLanguage; } /** * Preferred language of the Bancontact authorization page that the customer is redirected to. * *

One of {@code de}, {@code en}, {@code fr}, or {@code nl}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setPreferredLanguage(final String preferredLanguage) { this.preferredLanguage = preferredLanguage; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.Bancontact)) return false; final PaymentIntent.PaymentMethodOptions.Bancontact other = (PaymentIntent.PaymentMethodOptions.Bancontact) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$preferredLanguage = this.getPreferredLanguage(); final java.lang.Object other$preferredLanguage = other.getPreferredLanguage(); if (this$preferredLanguage == null ? other$preferredLanguage != null : !this$preferredLanguage.equals(other$preferredLanguage)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.Bancontact; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $preferredLanguage = this.getPreferredLanguage(); result = result * PRIME + ($preferredLanguage == null ? 43 : $preferredLanguage.hashCode()); return result; } } public static class Boleto extends StripeObject { /** * The number of calendar days before a Boleto voucher expires. For example, if you create a * Boleto voucher on Monday and you set expires_after_days to 2, the Boleto voucher will * expire on Wednesday at 23:59 America/Sao_Paulo time. */ @SerializedName("expires_after_days") Long expiresAfterDays; /** * The number of calendar days before a Boleto voucher expires. For example, if you create a * Boleto voucher on Monday and you set expires_after_days to 2, the Boleto voucher will * expire on Wednesday at 23:59 America/Sao_Paulo time. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Long getExpiresAfterDays() { return this.expiresAfterDays; } /** * The number of calendar days before a Boleto voucher expires. For example, if you create a * Boleto voucher on Monday and you set expires_after_days to 2, the Boleto voucher will * expire on Wednesday at 23:59 America/Sao_Paulo time. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setExpiresAfterDays(final Long expiresAfterDays) { this.expiresAfterDays = expiresAfterDays; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.Boleto)) return false; final PaymentIntent.PaymentMethodOptions.Boleto other = (PaymentIntent.PaymentMethodOptions.Boleto) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$expiresAfterDays = this.getExpiresAfterDays(); final java.lang.Object other$expiresAfterDays = other.getExpiresAfterDays(); if (this$expiresAfterDays == null ? other$expiresAfterDays != null : !this$expiresAfterDays.equals(other$expiresAfterDays)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.Boleto; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $expiresAfterDays = this.getExpiresAfterDays(); result = result * PRIME + ($expiresAfterDays == null ? 43 : $expiresAfterDays.hashCode()); return result; } } public static class Card extends StripeObject { /** * Installment details for this payment (Mexico only). * *

For more information, see the installments integration guide. */ @SerializedName("installments") Installments installments; /** * Selected network to process this payment intent on. Depends on the available networks of * the card attached to the payment intent. Can be only set confirm-time. */ @SerializedName("network") String network; /** * We strongly recommend that you rely on our SCA Engine to automatically prompt your * customers for authentication based on risk level and other requirements. * However, if you wish to request 3D Secure based on logic from your own fraud engine, * provide this option. Permitted values include: {@code automatic} or {@code any}. If not * provided, defaults to {@code automatic}. Read our guide on manually requesting 3D * Secure for more information on how this configuration interacts with Radar and our SCA * Engine. * *

One of {@code any}, {@code automatic}, or {@code challenge_only}. */ @SerializedName("request_three_d_secure") String requestThreeDSecure; public static class Installments extends StripeObject { /** Installment plans that may be selected for this PaymentIntent. */ @SerializedName("available_plans") List availablePlans; /** Whether Installments are enabled for this PaymentIntent. */ @SerializedName("enabled") Boolean enabled; /** Installment plan selected for this PaymentIntent. */ @SerializedName("plan") Plan plan; public static class Plan extends StripeObject { /** * For {@code fixed_count} installment plans, this is the number of installment payments * your customer will make to their credit card. */ @SerializedName("count") Long count; /** * For {@code fixed_count} installment plans, this is the interval between installment * payments your customer will make to their credit card. One of {@code month}. */ @SerializedName("interval") String interval; @SerializedName("type") String type; @java.lang.SuppressWarnings("all") @lombok.Generated public Long getCount() { return this.count; } @java.lang.SuppressWarnings("all") @lombok.Generated public String getInterval() { return this.interval; } @java.lang.SuppressWarnings("all") @lombok.Generated public String getType() { return this.type; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setCount(final Long count) { this.count = count; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setInterval(final String interval) { this.interval = interval; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setType(final String type) { this.type = type; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.Card.Installments.Plan)) return false; final PaymentIntent.PaymentMethodOptions.Card.Installments.Plan other = (PaymentIntent.PaymentMethodOptions.Card.Installments.Plan) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$count = this.getCount(); final java.lang.Object other$count = other.getCount(); if (this$count == null ? other$count != null : !this$count.equals(other$count)) return false; final java.lang.Object this$interval = this.getInterval(); final java.lang.Object other$interval = other.getInterval(); if (this$interval == null ? other$interval != null : !this$interval.equals(other$interval)) return false; final java.lang.Object this$type = this.getType(); final java.lang.Object other$type = other.getType(); if (this$type == null ? other$type != null : !this$type.equals(other$type)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.Card.Installments.Plan; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $count = this.getCount(); result = result * PRIME + ($count == null ? 43 : $count.hashCode()); final java.lang.Object $interval = this.getInterval(); result = result * PRIME + ($interval == null ? 43 : $interval.hashCode()); final java.lang.Object $type = this.getType(); result = result * PRIME + ($type == null ? 43 : $type.hashCode()); return result; } } @java.lang.SuppressWarnings("all") @lombok.Generated public List getAvailablePlans() { return this.availablePlans; } @java.lang.SuppressWarnings("all") @lombok.Generated public Boolean getEnabled() { return this.enabled; } @java.lang.SuppressWarnings("all") @lombok.Generated public Plan getPlan() { return this.plan; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setAvailablePlans(final List availablePlans) { this.availablePlans = availablePlans; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setEnabled(final Boolean enabled) { this.enabled = enabled; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setPlan(final Plan plan) { this.plan = plan; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.Card.Installments)) return false; final PaymentIntent.PaymentMethodOptions.Card.Installments other = (PaymentIntent.PaymentMethodOptions.Card.Installments) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$enabled = this.getEnabled(); final java.lang.Object other$enabled = other.getEnabled(); if (this$enabled == null ? other$enabled != null : !this$enabled.equals(other$enabled)) return false; final java.lang.Object this$availablePlans = this.getAvailablePlans(); final java.lang.Object other$availablePlans = other.getAvailablePlans(); if (this$availablePlans == null ? other$availablePlans != null : !this$availablePlans.equals(other$availablePlans)) return false; final java.lang.Object this$plan = this.getPlan(); final java.lang.Object other$plan = other.getPlan(); if (this$plan == null ? other$plan != null : !this$plan.equals(other$plan)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.Card.Installments; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $enabled = this.getEnabled(); result = result * PRIME + ($enabled == null ? 43 : $enabled.hashCode()); final java.lang.Object $availablePlans = this.getAvailablePlans(); result = result * PRIME + ($availablePlans == null ? 43 : $availablePlans.hashCode()); final java.lang.Object $plan = this.getPlan(); result = result * PRIME + ($plan == null ? 43 : $plan.hashCode()); return result; } } /** * Installment details for this payment (Mexico only). * *

For more information, see the installments integration guide. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Installments getInstallments() { return this.installments; } /** * Selected network to process this payment intent on. Depends on the available networks of * the card attached to the payment intent. Can be only set confirm-time. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getNetwork() { return this.network; } /** * We strongly recommend that you rely on our SCA Engine to automatically prompt your * customers for authentication based on risk level and other requirements. * However, if you wish to request 3D Secure based on logic from your own fraud engine, * provide this option. Permitted values include: {@code automatic} or {@code any}. If not * provided, defaults to {@code automatic}. Read our guide on manually requesting 3D * Secure for more information on how this configuration interacts with Radar and our SCA * Engine. * *

One of {@code any}, {@code automatic}, or {@code challenge_only}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getRequestThreeDSecure() { return this.requestThreeDSecure; } /** * Installment details for this payment (Mexico only). * *

For more information, see the installments integration guide. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setInstallments(final Installments installments) { this.installments = installments; } /** * Selected network to process this payment intent on. Depends on the available networks of * the card attached to the payment intent. Can be only set confirm-time. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setNetwork(final String network) { this.network = network; } /** * We strongly recommend that you rely on our SCA Engine to automatically prompt your * customers for authentication based on risk level and other requirements. * However, if you wish to request 3D Secure based on logic from your own fraud engine, * provide this option. Permitted values include: {@code automatic} or {@code any}. If not * provided, defaults to {@code automatic}. Read our guide on manually requesting 3D * Secure for more information on how this configuration interacts with Radar and our SCA * Engine. * *

One of {@code any}, {@code automatic}, or {@code challenge_only}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setRequestThreeDSecure(final String requestThreeDSecure) { this.requestThreeDSecure = requestThreeDSecure; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.Card)) return false; final PaymentIntent.PaymentMethodOptions.Card other = (PaymentIntent.PaymentMethodOptions.Card) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$installments = this.getInstallments(); final java.lang.Object other$installments = other.getInstallments(); if (this$installments == null ? other$installments != null : !this$installments.equals(other$installments)) return false; final java.lang.Object this$network = this.getNetwork(); final java.lang.Object other$network = other.getNetwork(); if (this$network == null ? other$network != null : !this$network.equals(other$network)) return false; final java.lang.Object this$requestThreeDSecure = this.getRequestThreeDSecure(); final java.lang.Object other$requestThreeDSecure = other.getRequestThreeDSecure(); if (this$requestThreeDSecure == null ? other$requestThreeDSecure != null : !this$requestThreeDSecure.equals(other$requestThreeDSecure)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.Card; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $installments = this.getInstallments(); result = result * PRIME + ($installments == null ? 43 : $installments.hashCode()); final java.lang.Object $network = this.getNetwork(); result = result * PRIME + ($network == null ? 43 : $network.hashCode()); final java.lang.Object $requestThreeDSecure = this.getRequestThreeDSecure(); result = result * PRIME + ($requestThreeDSecure == null ? 43 : $requestThreeDSecure.hashCode()); return result; } } /** * Type of installment plan, one of {@code fixed_count}. */ public static class CardPresent extends StripeObject { @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.CardPresent)) return false; final PaymentIntent.PaymentMethodOptions.CardPresent other = (PaymentIntent.PaymentMethodOptions.CardPresent) o; if (!other.canEqual((java.lang.Object) this)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.CardPresent; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int result = 1; return result; } } public static class Ideal extends StripeObject { @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.Ideal)) return false; final PaymentIntent.PaymentMethodOptions.Ideal other = (PaymentIntent.PaymentMethodOptions.Ideal) o; if (!other.canEqual((java.lang.Object) this)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.Ideal; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int result = 1; return result; } } public static class InteracPresent extends StripeObject { @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.InteracPresent)) return false; final PaymentIntent.PaymentMethodOptions.InteracPresent other = (PaymentIntent.PaymentMethodOptions.InteracPresent) o; if (!other.canEqual((java.lang.Object) this)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.InteracPresent; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int result = 1; return result; } } public static class Klarna extends StripeObject { /** * Preferred locale of the Klarna checkout page that the customer is redirected to. */ @SerializedName("preferred_locale") String preferredLocale; /** * Preferred locale of the Klarna checkout page that the customer is redirected to. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getPreferredLocale() { return this.preferredLocale; } /** * Preferred locale of the Klarna checkout page that the customer is redirected to. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setPreferredLocale(final String preferredLocale) { this.preferredLocale = preferredLocale; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.Klarna)) return false; final PaymentIntent.PaymentMethodOptions.Klarna other = (PaymentIntent.PaymentMethodOptions.Klarna) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$preferredLocale = this.getPreferredLocale(); final java.lang.Object other$preferredLocale = other.getPreferredLocale(); if (this$preferredLocale == null ? other$preferredLocale != null : !this$preferredLocale.equals(other$preferredLocale)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.Klarna; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $preferredLocale = this.getPreferredLocale(); result = result * PRIME + ($preferredLocale == null ? 43 : $preferredLocale.hashCode()); return result; } } public static class Oxxo extends StripeObject { /** * The number of calendar days before an OXXO invoice expires. For example, if you create an * OXXO invoice on Monday and you set expires_after_days to 2, the OXXO invoice will expire on * Wednesday at 23:59 America/Mexico_City time. */ @SerializedName("expires_after_days") Long expiresAfterDays; /** * The number of calendar days before an OXXO invoice expires. For example, if you create an * OXXO invoice on Monday and you set expires_after_days to 2, the OXXO invoice will expire on * Wednesday at 23:59 America/Mexico_City time. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Long getExpiresAfterDays() { return this.expiresAfterDays; } /** * The number of calendar days before an OXXO invoice expires. For example, if you create an * OXXO invoice on Monday and you set expires_after_days to 2, the OXXO invoice will expire on * Wednesday at 23:59 America/Mexico_City time. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setExpiresAfterDays(final Long expiresAfterDays) { this.expiresAfterDays = expiresAfterDays; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.Oxxo)) return false; final PaymentIntent.PaymentMethodOptions.Oxxo other = (PaymentIntent.PaymentMethodOptions.Oxxo) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$expiresAfterDays = this.getExpiresAfterDays(); final java.lang.Object other$expiresAfterDays = other.getExpiresAfterDays(); if (this$expiresAfterDays == null ? other$expiresAfterDays != null : !this$expiresAfterDays.equals(other$expiresAfterDays)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.Oxxo; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $expiresAfterDays = this.getExpiresAfterDays(); result = result * PRIME + ($expiresAfterDays == null ? 43 : $expiresAfterDays.hashCode()); return result; } } public static class P24 extends StripeObject { @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.P24)) return false; final PaymentIntent.PaymentMethodOptions.P24 other = (PaymentIntent.PaymentMethodOptions.P24) o; if (!other.canEqual((java.lang.Object) this)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.P24; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int result = 1; return result; } } public static class SepaDebit extends StripeObject { @SerializedName("mandate_options") SepaDebitMandateOptions mandateOptions; @java.lang.SuppressWarnings("all") @lombok.Generated public SepaDebitMandateOptions getMandateOptions() { return this.mandateOptions; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setMandateOptions(final SepaDebitMandateOptions mandateOptions) { this.mandateOptions = mandateOptions; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.SepaDebit)) return false; final PaymentIntent.PaymentMethodOptions.SepaDebit other = (PaymentIntent.PaymentMethodOptions.SepaDebit) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$mandateOptions = this.getMandateOptions(); final java.lang.Object other$mandateOptions = other.getMandateOptions(); if (this$mandateOptions == null ? other$mandateOptions != null : !this$mandateOptions.equals(other$mandateOptions)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.SepaDebit; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $mandateOptions = this.getMandateOptions(); result = result * PRIME + ($mandateOptions == null ? 43 : $mandateOptions.hashCode()); return result; } } public static class SepaDebitMandateOptions extends StripeObject { @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.SepaDebitMandateOptions)) return false; final PaymentIntent.PaymentMethodOptions.SepaDebitMandateOptions other = (PaymentIntent.PaymentMethodOptions.SepaDebitMandateOptions) o; if (!other.canEqual((java.lang.Object) this)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.SepaDebitMandateOptions; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int result = 1; return result; } } public static class Sofort extends StripeObject { /** * Preferred language of the SOFORT authorization page that the customer is redirected to. * *

One of {@code de}, {@code en}, {@code es}, {@code fr}, {@code it}, {@code nl}, or {@code * pl}. */ @SerializedName("preferred_language") String preferredLanguage; /** * Preferred language of the SOFORT authorization page that the customer is redirected to. * *

One of {@code de}, {@code en}, {@code es}, {@code fr}, {@code it}, {@code nl}, or {@code * pl}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getPreferredLanguage() { return this.preferredLanguage; } /** * Preferred language of the SOFORT authorization page that the customer is redirected to. * *

One of {@code de}, {@code en}, {@code es}, {@code fr}, {@code it}, {@code nl}, or {@code * pl}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setPreferredLanguage(final String preferredLanguage) { this.preferredLanguage = preferredLanguage; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.Sofort)) return false; final PaymentIntent.PaymentMethodOptions.Sofort other = (PaymentIntent.PaymentMethodOptions.Sofort) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$preferredLanguage = this.getPreferredLanguage(); final java.lang.Object other$preferredLanguage = other.getPreferredLanguage(); if (this$preferredLanguage == null ? other$preferredLanguage != null : !this$preferredLanguage.equals(other$preferredLanguage)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.Sofort; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $preferredLanguage = this.getPreferredLanguage(); result = result * PRIME + ($preferredLanguage == null ? 43 : $preferredLanguage.hashCode()); return result; } } public static class WechatPay extends StripeObject { /** The app ID registered with WeChat Pay. Only required when client is ios or android. */ @SerializedName("app_id") String appId; @SerializedName("client") String client; @java.lang.SuppressWarnings("all") @lombok.Generated public String getAppId() { return this.appId; } @java.lang.SuppressWarnings("all") @lombok.Generated public String getClient() { return this.client; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setAppId(final String appId) { this.appId = appId; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setClient(final String client) { this.client = client; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions.WechatPay)) return false; final PaymentIntent.PaymentMethodOptions.WechatPay other = (PaymentIntent.PaymentMethodOptions.WechatPay) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$appId = this.getAppId(); final java.lang.Object other$appId = other.getAppId(); if (this$appId == null ? other$appId != null : !this$appId.equals(other$appId)) return false; final java.lang.Object this$client = this.getClient(); final java.lang.Object other$client = other.getClient(); if (this$client == null ? other$client != null : !this$client.equals(other$client)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions.WechatPay; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $appId = this.getAppId(); result = result * PRIME + ($appId == null ? 43 : $appId.hashCode()); final java.lang.Object $client = this.getClient(); result = result * PRIME + ($client == null ? 43 : $client.hashCode()); return result; } } @java.lang.SuppressWarnings("all") @lombok.Generated public AcssDebit getAcssDebit() { return this.acssDebit; } @java.lang.SuppressWarnings("all") @lombok.Generated public AfterpayClearpay getAfterpayClearpay() { return this.afterpayClearpay; } @java.lang.SuppressWarnings("all") @lombok.Generated public Alipay getAlipay() { return this.alipay; } @java.lang.SuppressWarnings("all") @lombok.Generated public Bancontact getBancontact() { return this.bancontact; } @java.lang.SuppressWarnings("all") @lombok.Generated public Boleto getBoleto() { return this.boleto; } @java.lang.SuppressWarnings("all") @lombok.Generated public Card getCard() { return this.card; } @java.lang.SuppressWarnings("all") @lombok.Generated public CardPresent getCardPresent() { return this.cardPresent; } @java.lang.SuppressWarnings("all") @lombok.Generated public Ideal getIdeal() { return this.ideal; } @java.lang.SuppressWarnings("all") @lombok.Generated public InteracPresent getInteracPresent() { return this.interacPresent; } @java.lang.SuppressWarnings("all") @lombok.Generated public Klarna getKlarna() { return this.klarna; } @java.lang.SuppressWarnings("all") @lombok.Generated public Oxxo getOxxo() { return this.oxxo; } @java.lang.SuppressWarnings("all") @lombok.Generated public P24 getP24() { return this.p24; } @java.lang.SuppressWarnings("all") @lombok.Generated public SepaDebit getSepaDebit() { return this.sepaDebit; } @java.lang.SuppressWarnings("all") @lombok.Generated public Sofort getSofort() { return this.sofort; } @java.lang.SuppressWarnings("all") @lombok.Generated public WechatPay getWechatPay() { return this.wechatPay; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setAcssDebit(final AcssDebit acssDebit) { this.acssDebit = acssDebit; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setAfterpayClearpay(final AfterpayClearpay afterpayClearpay) { this.afterpayClearpay = afterpayClearpay; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setAlipay(final Alipay alipay) { this.alipay = alipay; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setBancontact(final Bancontact bancontact) { this.bancontact = bancontact; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setBoleto(final Boleto boleto) { this.boleto = boleto; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setCard(final Card card) { this.card = card; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setCardPresent(final CardPresent cardPresent) { this.cardPresent = cardPresent; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setIdeal(final Ideal ideal) { this.ideal = ideal; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setInteracPresent(final InteracPresent interacPresent) { this.interacPresent = interacPresent; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setKlarna(final Klarna klarna) { this.klarna = klarna; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setOxxo(final Oxxo oxxo) { this.oxxo = oxxo; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setP24(final P24 p24) { this.p24 = p24; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setSepaDebit(final SepaDebit sepaDebit) { this.sepaDebit = sepaDebit; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setSofort(final Sofort sofort) { this.sofort = sofort; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setWechatPay(final WechatPay wechatPay) { this.wechatPay = wechatPay; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.PaymentMethodOptions)) return false; final PaymentIntent.PaymentMethodOptions other = (PaymentIntent.PaymentMethodOptions) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$acssDebit = this.getAcssDebit(); final java.lang.Object other$acssDebit = other.getAcssDebit(); if (this$acssDebit == null ? other$acssDebit != null : !this$acssDebit.equals(other$acssDebit)) return false; final java.lang.Object this$afterpayClearpay = this.getAfterpayClearpay(); final java.lang.Object other$afterpayClearpay = other.getAfterpayClearpay(); if (this$afterpayClearpay == null ? other$afterpayClearpay != null : !this$afterpayClearpay.equals(other$afterpayClearpay)) return false; final java.lang.Object this$alipay = this.getAlipay(); final java.lang.Object other$alipay = other.getAlipay(); if (this$alipay == null ? other$alipay != null : !this$alipay.equals(other$alipay)) return false; final java.lang.Object this$bancontact = this.getBancontact(); final java.lang.Object other$bancontact = other.getBancontact(); if (this$bancontact == null ? other$bancontact != null : !this$bancontact.equals(other$bancontact)) return false; final java.lang.Object this$boleto = this.getBoleto(); final java.lang.Object other$boleto = other.getBoleto(); if (this$boleto == null ? other$boleto != null : !this$boleto.equals(other$boleto)) return false; final java.lang.Object this$card = this.getCard(); final java.lang.Object other$card = other.getCard(); if (this$card == null ? other$card != null : !this$card.equals(other$card)) return false; final java.lang.Object this$cardPresent = this.getCardPresent(); final java.lang.Object other$cardPresent = other.getCardPresent(); if (this$cardPresent == null ? other$cardPresent != null : !this$cardPresent.equals(other$cardPresent)) return false; final java.lang.Object this$ideal = this.getIdeal(); final java.lang.Object other$ideal = other.getIdeal(); if (this$ideal == null ? other$ideal != null : !this$ideal.equals(other$ideal)) return false; final java.lang.Object this$interacPresent = this.getInteracPresent(); final java.lang.Object other$interacPresent = other.getInteracPresent(); if (this$interacPresent == null ? other$interacPresent != null : !this$interacPresent.equals(other$interacPresent)) return false; final java.lang.Object this$klarna = this.getKlarna(); final java.lang.Object other$klarna = other.getKlarna(); if (this$klarna == null ? other$klarna != null : !this$klarna.equals(other$klarna)) return false; final java.lang.Object this$oxxo = this.getOxxo(); final java.lang.Object other$oxxo = other.getOxxo(); if (this$oxxo == null ? other$oxxo != null : !this$oxxo.equals(other$oxxo)) return false; final java.lang.Object this$p24 = this.getP24(); final java.lang.Object other$p24 = other.getP24(); if (this$p24 == null ? other$p24 != null : !this$p24.equals(other$p24)) return false; final java.lang.Object this$sepaDebit = this.getSepaDebit(); final java.lang.Object other$sepaDebit = other.getSepaDebit(); if (this$sepaDebit == null ? other$sepaDebit != null : !this$sepaDebit.equals(other$sepaDebit)) return false; final java.lang.Object this$sofort = this.getSofort(); final java.lang.Object other$sofort = other.getSofort(); if (this$sofort == null ? other$sofort != null : !this$sofort.equals(other$sofort)) return false; final java.lang.Object this$wechatPay = this.getWechatPay(); final java.lang.Object other$wechatPay = other.getWechatPay(); if (this$wechatPay == null ? other$wechatPay != null : !this$wechatPay.equals(other$wechatPay)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.PaymentMethodOptions; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $acssDebit = this.getAcssDebit(); result = result * PRIME + ($acssDebit == null ? 43 : $acssDebit.hashCode()); final java.lang.Object $afterpayClearpay = this.getAfterpayClearpay(); result = result * PRIME + ($afterpayClearpay == null ? 43 : $afterpayClearpay.hashCode()); final java.lang.Object $alipay = this.getAlipay(); result = result * PRIME + ($alipay == null ? 43 : $alipay.hashCode()); final java.lang.Object $bancontact = this.getBancontact(); result = result * PRIME + ($bancontact == null ? 43 : $bancontact.hashCode()); final java.lang.Object $boleto = this.getBoleto(); result = result * PRIME + ($boleto == null ? 43 : $boleto.hashCode()); final java.lang.Object $card = this.getCard(); result = result * PRIME + ($card == null ? 43 : $card.hashCode()); final java.lang.Object $cardPresent = this.getCardPresent(); result = result * PRIME + ($cardPresent == null ? 43 : $cardPresent.hashCode()); final java.lang.Object $ideal = this.getIdeal(); result = result * PRIME + ($ideal == null ? 43 : $ideal.hashCode()); final java.lang.Object $interacPresent = this.getInteracPresent(); result = result * PRIME + ($interacPresent == null ? 43 : $interacPresent.hashCode()); final java.lang.Object $klarna = this.getKlarna(); result = result * PRIME + ($klarna == null ? 43 : $klarna.hashCode()); final java.lang.Object $oxxo = this.getOxxo(); result = result * PRIME + ($oxxo == null ? 43 : $oxxo.hashCode()); final java.lang.Object $p24 = this.getP24(); result = result * PRIME + ($p24 == null ? 43 : $p24.hashCode()); final java.lang.Object $sepaDebit = this.getSepaDebit(); result = result * PRIME + ($sepaDebit == null ? 43 : $sepaDebit.hashCode()); final java.lang.Object $sofort = this.getSofort(); result = result * PRIME + ($sofort == null ? 43 : $sofort.hashCode()); final java.lang.Object $wechatPay = this.getWechatPay(); result = result * PRIME + ($wechatPay == null ? 43 : $wechatPay.hashCode()); return result; } } /** * The client type that the end customer will pay from * *

One of {@code android}, {@code ios}, or {@code web}. */ public static class TransferData extends StripeObject { /** * Amount intended to be collected by this PaymentIntent. A positive integer representing how * much to charge in the smallest * currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal * currency). The minimum amount is $0.50 US or equivalent in * charge currency. The amount value supports up to eight digits (e.g., a value of 99999999 * for a USD charge of $999,999.99). */ @SerializedName("amount") Long amount; /** * The account (if any) the payment will be attributed to for tax reporting, and where funds * from the payment will be transferred to upon payment success. */ @SerializedName("destination") ExpandableField destination; /** Get ID of expandable {@code destination} object. */ public String getDestination() { return (this.destination != null) ? this.destination.getId() : null; } public void setDestination(String id) { this.destination = ApiResource.setExpandableFieldId(id, this.destination); } /** Get expanded {@code destination}. */ public Account getDestinationObject() { return (this.destination != null) ? this.destination.getExpanded() : null; } public void setDestinationObject(Account expandableObject) { this.destination = new ExpandableField(expandableObject.getId(), expandableObject); } @java.lang.SuppressWarnings("all") @lombok.Generated public Long getAmount() { return this.amount; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setAmount(final Long amount) { this.amount = amount; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent.TransferData)) return false; final PaymentIntent.TransferData other = (PaymentIntent.TransferData) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$amount = this.getAmount(); final java.lang.Object other$amount = other.getAmount(); if (this$amount == null ? other$amount != null : !this$amount.equals(other$amount)) return false; final java.lang.Object this$destination = this.getDestination(); final java.lang.Object other$destination = other.getDestination(); if (this$destination == null ? other$destination != null : !this$destination.equals(other$destination)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent.TransferData; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $amount = this.getAmount(); result = result * PRIME + ($amount == null ? 43 : $amount.hashCode()); final java.lang.Object $destination = this.getDestination(); result = result * PRIME + ($destination == null ? 43 : $destination.hashCode()); return result; } } /** * Amount intended to be collected by this PaymentIntent. A positive integer representing how much * to charge in the smallest currency * unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The * minimum amount is $0.50 US or equivalent in * charge currency. The amount value supports up to eight digits (e.g., a value of 99999999 * for a USD charge of $999,999.99). */ @java.lang.SuppressWarnings("all") @lombok.Generated public Long getAmount() { return this.amount; } /** * Amount that can be captured from this PaymentIntent. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Long getAmountCapturable() { return this.amountCapturable; } /** * Amount that was collected by this PaymentIntent. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Long getAmountReceived() { return this.amountReceived; } /** * The amount of the application fee (if any) that will be requested to be applied to the payment * and transferred to the application owner's Stripe account. The amount of the application fee * collected will be capped at the total payment amount. For more information, see the * PaymentIntents use case for * connected accounts. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Long getApplicationFeeAmount() { return this.applicationFeeAmount; } /** * Settings to configure compatible payment methods from the Stripe Dashboard. */ @java.lang.SuppressWarnings("all") @lombok.Generated public AutomaticPaymentMethodsPaymentIntent getAutomaticPaymentMethods() { return this.automaticPaymentMethods; } /** * Populated when {@code status} is {@code canceled}, this is the time at which the PaymentIntent * was canceled. Measured in seconds since the Unix epoch. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Long getCanceledAt() { return this.canceledAt; } /** * Reason for cancellation of this PaymentIntent, either user-provided ({@code duplicate}, {@code * fraudulent}, {@code requested_by_customer}, or {@code abandoned}) or generated by Stripe * internally ({@code failed_invoice}, {@code void_invoice}, or {@code automatic}). * *

One of {@code abandoned}, {@code automatic}, {@code duplicate}, {@code failed_invoice}, * {@code fraudulent}, {@code requested_by_customer}, or {@code void_invoice}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getCancellationReason() { return this.cancellationReason; } /** * Controls when the funds will be captured from the customer's account. * *

One of {@code automatic}, or {@code manual}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getCaptureMethod() { return this.captureMethod; } /** * Charges that were created by this PaymentIntent, if any. */ @java.lang.SuppressWarnings("all") @lombok.Generated public ChargeCollection getCharges() { return this.charges; } /** * The client secret of this PaymentIntent. Used for client-side retrieval using a publishable * key. * *

The client secret can be used to complete a payment from your frontend. It should not be * stored, logged, embedded in URLs, or exposed to anyone other than the customer. Make sure that * you have TLS enabled on any page that includes the client secret. * *

Refer to our docs to accept a * payment and learn about how {@code client_secret} should be handled. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getClientSecret() { return this.clientSecret; } @java.lang.SuppressWarnings("all") @lombok.Generated public String getConfirmationMethod() { return this.confirmationMethod; } /** * Time at which the object was created. Measured in seconds since the Unix epoch. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Long getCreated() { return this.created; } /** * Three-letter ISO currency code, * in lowercase. Must be a supported currency. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getCurrency() { return this.currency; } /** * An arbitrary string attached to the object. Often useful for displaying to users. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getDescription() { return this.description; } /** * The payment error encountered in the previous PaymentIntent confirmation. It will be cleared if * the PaymentIntent is later updated for any reason. */ @java.lang.SuppressWarnings("all") @lombok.Generated public StripeError getLastPaymentError() { return this.lastPaymentError; } /** * Has the value {@code true} if the object exists in live mode or the value {@code false} if the * object exists in test mode. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Boolean getLivemode() { return this.livemode; } /** * If present, this property tells you what actions you need to take in order for your customer to * fulfill a payment using the provided source. */ @java.lang.SuppressWarnings("all") @lombok.Generated public NextAction getNextAction() { return this.nextAction; } /** * String representing the object's type. Objects of the same type share the same value. * *

Equal to {@code payment_intent}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getObject() { return this.object; } /** * Payment-method-specific configuration for this PaymentIntent. */ @java.lang.SuppressWarnings("all") @lombok.Generated public PaymentMethodOptions getPaymentMethodOptions() { return this.paymentMethodOptions; } /** * The list of payment method types (e.g. card) that this PaymentIntent is allowed to use. */ @java.lang.SuppressWarnings("all") @lombok.Generated public List getPaymentMethodTypes() { return this.paymentMethodTypes; } /** * Email address that the receipt for the resulting payment will be sent to. If {@code * receipt_email} is specified for a payment in live mode, a receipt will be sent regardless of * your email settings. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getReceiptEmail() { return this.receiptEmail; } /** * Indicates that you intend to make future payments with this PaymentIntent's payment method. * *

Providing this parameter will attach the payment method to * the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required * actions from the user are complete. If no Customer was provided, the payment method can still * be attached to a Customer * after the transaction completes. * *

When processing card payments, Stripe also uses {@code setup_future_usage} to dynamically * optimize your payment flow and comply with regional legislation and network rules, such as SCA. * *

One of {@code off_session}, or {@code on_session}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getSetupFutureUsage() { return this.setupFutureUsage; } /** * Shipping information for this PaymentIntent. */ @java.lang.SuppressWarnings("all") @lombok.Generated public ShippingDetails getShipping() { return this.shipping; } /** * For non-card charges, you can use this value as the complete description that appears on your * customers’ statements. Must contain at least one letter, maximum 22 characters. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getStatementDescriptor() { return this.statementDescriptor; } /** * Provides information about a card payment that customers see on their statements. Concatenated * with the prefix (shortened descriptor) or statement descriptor that’s set on the account to * form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getStatementDescriptorSuffix() { return this.statementDescriptorSuffix; } /** * Status of this PaymentIntent, one of {@code requires_payment_method}, {@code * requires_confirmation}, {@code requires_action}, {@code processing}, {@code requires_capture}, * {@code canceled}, or {@code succeeded}. Read more about each PaymentIntent status. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getStatus() { return this.status; } /** * The data with which to automatically create a Transfer when the payment is finalized. See the * PaymentIntents use case for * connected accounts for details. */ @java.lang.SuppressWarnings("all") @lombok.Generated public TransferData getTransferData() { return this.transferData; } /** * A string that identifies the resulting payment as part of a group. See the PaymentIntents use case for connected accounts * for details. */ @java.lang.SuppressWarnings("all") @lombok.Generated public String getTransferGroup() { return this.transferGroup; } /** * Amount intended to be collected by this PaymentIntent. A positive integer representing how much * to charge in the smallest currency * unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The * minimum amount is $0.50 US or equivalent in * charge currency. The amount value supports up to eight digits (e.g., a value of 99999999 * for a USD charge of $999,999.99). */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setAmount(final Long amount) { this.amount = amount; } /** * Amount that can be captured from this PaymentIntent. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setAmountCapturable(final Long amountCapturable) { this.amountCapturable = amountCapturable; } /** * Amount that was collected by this PaymentIntent. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setAmountReceived(final Long amountReceived) { this.amountReceived = amountReceived; } /** * The amount of the application fee (if any) that will be requested to be applied to the payment * and transferred to the application owner's Stripe account. The amount of the application fee * collected will be capped at the total payment amount. For more information, see the * PaymentIntents use case for * connected accounts. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setApplicationFeeAmount(final Long applicationFeeAmount) { this.applicationFeeAmount = applicationFeeAmount; } /** * Settings to configure compatible payment methods from the Stripe Dashboard. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setAutomaticPaymentMethods(final AutomaticPaymentMethodsPaymentIntent automaticPaymentMethods) { this.automaticPaymentMethods = automaticPaymentMethods; } /** * Populated when {@code status} is {@code canceled}, this is the time at which the PaymentIntent * was canceled. Measured in seconds since the Unix epoch. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setCanceledAt(final Long canceledAt) { this.canceledAt = canceledAt; } /** * Reason for cancellation of this PaymentIntent, either user-provided ({@code duplicate}, {@code * fraudulent}, {@code requested_by_customer}, or {@code abandoned}) or generated by Stripe * internally ({@code failed_invoice}, {@code void_invoice}, or {@code automatic}). * *

One of {@code abandoned}, {@code automatic}, {@code duplicate}, {@code failed_invoice}, * {@code fraudulent}, {@code requested_by_customer}, or {@code void_invoice}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setCancellationReason(final String cancellationReason) { this.cancellationReason = cancellationReason; } /** * Controls when the funds will be captured from the customer's account. * *

One of {@code automatic}, or {@code manual}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setCaptureMethod(final String captureMethod) { this.captureMethod = captureMethod; } /** * Charges that were created by this PaymentIntent, if any. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setCharges(final ChargeCollection charges) { this.charges = charges; } /** * The client secret of this PaymentIntent. Used for client-side retrieval using a publishable * key. * *

The client secret can be used to complete a payment from your frontend. It should not be * stored, logged, embedded in URLs, or exposed to anyone other than the customer. Make sure that * you have TLS enabled on any page that includes the client secret. * *

Refer to our docs to accept a * payment and learn about how {@code client_secret} should be handled. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setClientSecret(final String clientSecret) { this.clientSecret = clientSecret; } @java.lang.SuppressWarnings("all") @lombok.Generated public void setConfirmationMethod(final String confirmationMethod) { this.confirmationMethod = confirmationMethod; } /** * Time at which the object was created. Measured in seconds since the Unix epoch. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setCreated(final Long created) { this.created = created; } /** * Three-letter ISO currency code, * in lowercase. Must be a supported currency. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setCurrency(final String currency) { this.currency = currency; } /** * An arbitrary string attached to the object. Often useful for displaying to users. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setDescription(final String description) { this.description = description; } /** * Unique identifier for the object. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setId(final String id) { this.id = id; } /** * The payment error encountered in the previous PaymentIntent confirmation. It will be cleared if * the PaymentIntent is later updated for any reason. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setLastPaymentError(final StripeError lastPaymentError) { this.lastPaymentError = lastPaymentError; } /** * Has the value {@code true} if the object exists in live mode or the value {@code false} if the * object exists in test mode. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setLivemode(final Boolean livemode) { this.livemode = livemode; } /** * Set of key-value pairs that you can attach * to an object. This can be useful for storing additional information about the object in a * structured format. For more information, see the documentation. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setMetadata(final Map metadata) { this.metadata = metadata; } /** * If present, this property tells you what actions you need to take in order for your customer to * fulfill a payment using the provided source. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setNextAction(final NextAction nextAction) { this.nextAction = nextAction; } /** * String representing the object's type. Objects of the same type share the same value. * *

Equal to {@code payment_intent}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setObject(final String object) { this.object = object; } /** * Payment-method-specific configuration for this PaymentIntent. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setPaymentMethodOptions(final PaymentMethodOptions paymentMethodOptions) { this.paymentMethodOptions = paymentMethodOptions; } /** * The list of payment method types (e.g. card) that this PaymentIntent is allowed to use. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setPaymentMethodTypes(final List paymentMethodTypes) { this.paymentMethodTypes = paymentMethodTypes; } /** * Email address that the receipt for the resulting payment will be sent to. If {@code * receipt_email} is specified for a payment in live mode, a receipt will be sent regardless of * your email settings. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setReceiptEmail(final String receiptEmail) { this.receiptEmail = receiptEmail; } /** * Indicates that you intend to make future payments with this PaymentIntent's payment method. * *

Providing this parameter will attach the payment method to * the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required * actions from the user are complete. If no Customer was provided, the payment method can still * be attached to a Customer * after the transaction completes. * *

When processing card payments, Stripe also uses {@code setup_future_usage} to dynamically * optimize your payment flow and comply with regional legislation and network rules, such as SCA. * *

One of {@code off_session}, or {@code on_session}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setSetupFutureUsage(final String setupFutureUsage) { this.setupFutureUsage = setupFutureUsage; } /** * Shipping information for this PaymentIntent. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setShipping(final ShippingDetails shipping) { this.shipping = shipping; } /** * For non-card charges, you can use this value as the complete description that appears on your * customers’ statements. Must contain at least one letter, maximum 22 characters. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setStatementDescriptor(final String statementDescriptor) { this.statementDescriptor = statementDescriptor; } /** * Provides information about a card payment that customers see on their statements. Concatenated * with the prefix (shortened descriptor) or statement descriptor that’s set on the account to * form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setStatementDescriptorSuffix(final String statementDescriptorSuffix) { this.statementDescriptorSuffix = statementDescriptorSuffix; } /** * Status of this PaymentIntent, one of {@code requires_payment_method}, {@code * requires_confirmation}, {@code requires_action}, {@code processing}, {@code requires_capture}, * {@code canceled}, or {@code succeeded}. Read more about each PaymentIntent status. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setStatus(final String status) { this.status = status; } /** * The data with which to automatically create a Transfer when the payment is finalized. See the * PaymentIntents use case for * connected accounts for details. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setTransferData(final TransferData transferData) { this.transferData = transferData; } /** * A string that identifies the resulting payment as part of a group. See the PaymentIntents use case for connected accounts * for details. */ @java.lang.SuppressWarnings("all") @lombok.Generated public void setTransferGroup(final String transferGroup) { this.transferGroup = transferGroup; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof PaymentIntent)) return false; final PaymentIntent other = (PaymentIntent) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$amount = this.getAmount(); final java.lang.Object other$amount = other.getAmount(); if (this$amount == null ? other$amount != null : !this$amount.equals(other$amount)) return false; final java.lang.Object this$amountCapturable = this.getAmountCapturable(); final java.lang.Object other$amountCapturable = other.getAmountCapturable(); if (this$amountCapturable == null ? other$amountCapturable != null : !this$amountCapturable.equals(other$amountCapturable)) return false; final java.lang.Object this$amountReceived = this.getAmountReceived(); final java.lang.Object other$amountReceived = other.getAmountReceived(); if (this$amountReceived == null ? other$amountReceived != null : !this$amountReceived.equals(other$amountReceived)) return false; final java.lang.Object this$applicationFeeAmount = this.getApplicationFeeAmount(); final java.lang.Object other$applicationFeeAmount = other.getApplicationFeeAmount(); if (this$applicationFeeAmount == null ? other$applicationFeeAmount != null : !this$applicationFeeAmount.equals(other$applicationFeeAmount)) return false; final java.lang.Object this$canceledAt = this.getCanceledAt(); final java.lang.Object other$canceledAt = other.getCanceledAt(); if (this$canceledAt == null ? other$canceledAt != null : !this$canceledAt.equals(other$canceledAt)) return false; final java.lang.Object this$created = this.getCreated(); final java.lang.Object other$created = other.getCreated(); if (this$created == null ? other$created != null : !this$created.equals(other$created)) return false; final java.lang.Object this$livemode = this.getLivemode(); final java.lang.Object other$livemode = other.getLivemode(); if (this$livemode == null ? other$livemode != null : !this$livemode.equals(other$livemode)) return false; final java.lang.Object this$application = this.getApplication(); final java.lang.Object other$application = other.getApplication(); if (this$application == null ? other$application != null : !this$application.equals(other$application)) return false; final java.lang.Object this$automaticPaymentMethods = this.getAutomaticPaymentMethods(); final java.lang.Object other$automaticPaymentMethods = other.getAutomaticPaymentMethods(); if (this$automaticPaymentMethods == null ? other$automaticPaymentMethods != null : !this$automaticPaymentMethods.equals(other$automaticPaymentMethods)) return false; final java.lang.Object this$cancellationReason = this.getCancellationReason(); final java.lang.Object other$cancellationReason = other.getCancellationReason(); if (this$cancellationReason == null ? other$cancellationReason != null : !this$cancellationReason.equals(other$cancellationReason)) return false; final java.lang.Object this$captureMethod = this.getCaptureMethod(); final java.lang.Object other$captureMethod = other.getCaptureMethod(); if (this$captureMethod == null ? other$captureMethod != null : !this$captureMethod.equals(other$captureMethod)) return false; final java.lang.Object this$charges = this.getCharges(); final java.lang.Object other$charges = other.getCharges(); if (this$charges == null ? other$charges != null : !this$charges.equals(other$charges)) return false; final java.lang.Object this$clientSecret = this.getClientSecret(); final java.lang.Object other$clientSecret = other.getClientSecret(); if (this$clientSecret == null ? other$clientSecret != null : !this$clientSecret.equals(other$clientSecret)) return false; final java.lang.Object this$confirmationMethod = this.getConfirmationMethod(); final java.lang.Object other$confirmationMethod = other.getConfirmationMethod(); if (this$confirmationMethod == null ? other$confirmationMethod != null : !this$confirmationMethod.equals(other$confirmationMethod)) return false; final java.lang.Object this$currency = this.getCurrency(); final java.lang.Object other$currency = other.getCurrency(); if (this$currency == null ? other$currency != null : !this$currency.equals(other$currency)) return false; final java.lang.Object this$customer = this.getCustomer(); final java.lang.Object other$customer = other.getCustomer(); if (this$customer == null ? other$customer != null : !this$customer.equals(other$customer)) return false; final java.lang.Object this$description = this.getDescription(); final java.lang.Object other$description = other.getDescription(); if (this$description == null ? other$description != null : !this$description.equals(other$description)) return false; final java.lang.Object this$id = this.getId(); final java.lang.Object other$id = other.getId(); if (this$id == null ? other$id != null : !this$id.equals(other$id)) return false; final java.lang.Object this$invoice = this.getInvoice(); final java.lang.Object other$invoice = other.getInvoice(); if (this$invoice == null ? other$invoice != null : !this$invoice.equals(other$invoice)) return false; final java.lang.Object this$lastPaymentError = this.getLastPaymentError(); final java.lang.Object other$lastPaymentError = other.getLastPaymentError(); if (this$lastPaymentError == null ? other$lastPaymentError != null : !this$lastPaymentError.equals(other$lastPaymentError)) return false; final java.lang.Object this$metadata = this.getMetadata(); final java.lang.Object other$metadata = other.getMetadata(); if (this$metadata == null ? other$metadata != null : !this$metadata.equals(other$metadata)) return false; final java.lang.Object this$nextAction = this.getNextAction(); final java.lang.Object other$nextAction = other.getNextAction(); if (this$nextAction == null ? other$nextAction != null : !this$nextAction.equals(other$nextAction)) return false; final java.lang.Object this$object = this.getObject(); final java.lang.Object other$object = other.getObject(); if (this$object == null ? other$object != null : !this$object.equals(other$object)) return false; final java.lang.Object this$onBehalfOf = this.getOnBehalfOf(); final java.lang.Object other$onBehalfOf = other.getOnBehalfOf(); if (this$onBehalfOf == null ? other$onBehalfOf != null : !this$onBehalfOf.equals(other$onBehalfOf)) return false; final java.lang.Object this$paymentMethod = this.getPaymentMethod(); final java.lang.Object other$paymentMethod = other.getPaymentMethod(); if (this$paymentMethod == null ? other$paymentMethod != null : !this$paymentMethod.equals(other$paymentMethod)) return false; final java.lang.Object this$paymentMethodOptions = this.getPaymentMethodOptions(); final java.lang.Object other$paymentMethodOptions = other.getPaymentMethodOptions(); if (this$paymentMethodOptions == null ? other$paymentMethodOptions != null : !this$paymentMethodOptions.equals(other$paymentMethodOptions)) return false; final java.lang.Object this$paymentMethodTypes = this.getPaymentMethodTypes(); final java.lang.Object other$paymentMethodTypes = other.getPaymentMethodTypes(); if (this$paymentMethodTypes == null ? other$paymentMethodTypes != null : !this$paymentMethodTypes.equals(other$paymentMethodTypes)) return false; final java.lang.Object this$receiptEmail = this.getReceiptEmail(); final java.lang.Object other$receiptEmail = other.getReceiptEmail(); if (this$receiptEmail == null ? other$receiptEmail != null : !this$receiptEmail.equals(other$receiptEmail)) return false; final java.lang.Object this$review = this.getReview(); final java.lang.Object other$review = other.getReview(); if (this$review == null ? other$review != null : !this$review.equals(other$review)) return false; final java.lang.Object this$setupFutureUsage = this.getSetupFutureUsage(); final java.lang.Object other$setupFutureUsage = other.getSetupFutureUsage(); if (this$setupFutureUsage == null ? other$setupFutureUsage != null : !this$setupFutureUsage.equals(other$setupFutureUsage)) return false; final java.lang.Object this$shipping = this.getShipping(); final java.lang.Object other$shipping = other.getShipping(); if (this$shipping == null ? other$shipping != null : !this$shipping.equals(other$shipping)) return false; final java.lang.Object this$source = this.getSource(); final java.lang.Object other$source = other.getSource(); if (this$source == null ? other$source != null : !this$source.equals(other$source)) return false; final java.lang.Object this$statementDescriptor = this.getStatementDescriptor(); final java.lang.Object other$statementDescriptor = other.getStatementDescriptor(); if (this$statementDescriptor == null ? other$statementDescriptor != null : !this$statementDescriptor.equals(other$statementDescriptor)) return false; final java.lang.Object this$statementDescriptorSuffix = this.getStatementDescriptorSuffix(); final java.lang.Object other$statementDescriptorSuffix = other.getStatementDescriptorSuffix(); if (this$statementDescriptorSuffix == null ? other$statementDescriptorSuffix != null : !this$statementDescriptorSuffix.equals(other$statementDescriptorSuffix)) return false; final java.lang.Object this$status = this.getStatus(); final java.lang.Object other$status = other.getStatus(); if (this$status == null ? other$status != null : !this$status.equals(other$status)) return false; final java.lang.Object this$transferData = this.getTransferData(); final java.lang.Object other$transferData = other.getTransferData(); if (this$transferData == null ? other$transferData != null : !this$transferData.equals(other$transferData)) return false; final java.lang.Object this$transferGroup = this.getTransferGroup(); final java.lang.Object other$transferGroup = other.getTransferGroup(); if (this$transferGroup == null ? other$transferGroup != null : !this$transferGroup.equals(other$transferGroup)) return false; return true; } @java.lang.SuppressWarnings("all") @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof PaymentIntent; } @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $amount = this.getAmount(); result = result * PRIME + ($amount == null ? 43 : $amount.hashCode()); final java.lang.Object $amountCapturable = this.getAmountCapturable(); result = result * PRIME + ($amountCapturable == null ? 43 : $amountCapturable.hashCode()); final java.lang.Object $amountReceived = this.getAmountReceived(); result = result * PRIME + ($amountReceived == null ? 43 : $amountReceived.hashCode()); final java.lang.Object $applicationFeeAmount = this.getApplicationFeeAmount(); result = result * PRIME + ($applicationFeeAmount == null ? 43 : $applicationFeeAmount.hashCode()); final java.lang.Object $canceledAt = this.getCanceledAt(); result = result * PRIME + ($canceledAt == null ? 43 : $canceledAt.hashCode()); final java.lang.Object $created = this.getCreated(); result = result * PRIME + ($created == null ? 43 : $created.hashCode()); final java.lang.Object $livemode = this.getLivemode(); result = result * PRIME + ($livemode == null ? 43 : $livemode.hashCode()); final java.lang.Object $application = this.getApplication(); result = result * PRIME + ($application == null ? 43 : $application.hashCode()); final java.lang.Object $automaticPaymentMethods = this.getAutomaticPaymentMethods(); result = result * PRIME + ($automaticPaymentMethods == null ? 43 : $automaticPaymentMethods.hashCode()); final java.lang.Object $cancellationReason = this.getCancellationReason(); result = result * PRIME + ($cancellationReason == null ? 43 : $cancellationReason.hashCode()); final java.lang.Object $captureMethod = this.getCaptureMethod(); result = result * PRIME + ($captureMethod == null ? 43 : $captureMethod.hashCode()); final java.lang.Object $charges = this.getCharges(); result = result * PRIME + ($charges == null ? 43 : $charges.hashCode()); final java.lang.Object $clientSecret = this.getClientSecret(); result = result * PRIME + ($clientSecret == null ? 43 : $clientSecret.hashCode()); final java.lang.Object $confirmationMethod = this.getConfirmationMethod(); result = result * PRIME + ($confirmationMethod == null ? 43 : $confirmationMethod.hashCode()); final java.lang.Object $currency = this.getCurrency(); result = result * PRIME + ($currency == null ? 43 : $currency.hashCode()); final java.lang.Object $customer = this.getCustomer(); result = result * PRIME + ($customer == null ? 43 : $customer.hashCode()); final java.lang.Object $description = this.getDescription(); result = result * PRIME + ($description == null ? 43 : $description.hashCode()); final java.lang.Object $id = this.getId(); result = result * PRIME + ($id == null ? 43 : $id.hashCode()); final java.lang.Object $invoice = this.getInvoice(); result = result * PRIME + ($invoice == null ? 43 : $invoice.hashCode()); final java.lang.Object $lastPaymentError = this.getLastPaymentError(); result = result * PRIME + ($lastPaymentError == null ? 43 : $lastPaymentError.hashCode()); final java.lang.Object $metadata = this.getMetadata(); result = result * PRIME + ($metadata == null ? 43 : $metadata.hashCode()); final java.lang.Object $nextAction = this.getNextAction(); result = result * PRIME + ($nextAction == null ? 43 : $nextAction.hashCode()); final java.lang.Object $object = this.getObject(); result = result * PRIME + ($object == null ? 43 : $object.hashCode()); final java.lang.Object $onBehalfOf = this.getOnBehalfOf(); result = result * PRIME + ($onBehalfOf == null ? 43 : $onBehalfOf.hashCode()); final java.lang.Object $paymentMethod = this.getPaymentMethod(); result = result * PRIME + ($paymentMethod == null ? 43 : $paymentMethod.hashCode()); final java.lang.Object $paymentMethodOptions = this.getPaymentMethodOptions(); result = result * PRIME + ($paymentMethodOptions == null ? 43 : $paymentMethodOptions.hashCode()); final java.lang.Object $paymentMethodTypes = this.getPaymentMethodTypes(); result = result * PRIME + ($paymentMethodTypes == null ? 43 : $paymentMethodTypes.hashCode()); final java.lang.Object $receiptEmail = this.getReceiptEmail(); result = result * PRIME + ($receiptEmail == null ? 43 : $receiptEmail.hashCode()); final java.lang.Object $review = this.getReview(); result = result * PRIME + ($review == null ? 43 : $review.hashCode()); final java.lang.Object $setupFutureUsage = this.getSetupFutureUsage(); result = result * PRIME + ($setupFutureUsage == null ? 43 : $setupFutureUsage.hashCode()); final java.lang.Object $shipping = this.getShipping(); result = result * PRIME + ($shipping == null ? 43 : $shipping.hashCode()); final java.lang.Object $source = this.getSource(); result = result * PRIME + ($source == null ? 43 : $source.hashCode()); final java.lang.Object $statementDescriptor = this.getStatementDescriptor(); result = result * PRIME + ($statementDescriptor == null ? 43 : $statementDescriptor.hashCode()); final java.lang.Object $statementDescriptorSuffix = this.getStatementDescriptorSuffix(); result = result * PRIME + ($statementDescriptorSuffix == null ? 43 : $statementDescriptorSuffix.hashCode()); final java.lang.Object $status = this.getStatus(); result = result * PRIME + ($status == null ? 43 : $status.hashCode()); final java.lang.Object $transferData = this.getTransferData(); result = result * PRIME + ($transferData == null ? 43 : $transferData.hashCode()); final java.lang.Object $transferGroup = this.getTransferGroup(); result = result * PRIME + ($transferGroup == null ? 43 : $transferGroup.hashCode()); return result; } /** * Unique identifier for the object. */ @Override @java.lang.SuppressWarnings("all") @lombok.Generated public String getId() { return this.id; } /** * Set of key-value pairs that you can attach * to an object. This can be useful for storing additional information about the object in a * structured format. For more information, see the documentation. */ @Override @java.lang.SuppressWarnings("all") @lombok.Generated public Map getMetadata() { return this.metadata; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy