Package io.moov.sdk.models.components
Class CreatePaymentLink
- java.lang.Object
-
- io.moov.sdk.models.components.CreatePaymentLink
-
public class CreatePaymentLink extends java.lang.ObjectCreatePaymentLinkRequest to create a new payment link.
A payment link must include either `payment` or `payout` details, but not both. For payout payment links, `maxUses` will automatically be set to 1, as these are intended for a one-time disbursement to a specific recipient.
**Note:** The `payout` option is currently under development and is not yet available for general use.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCreatePaymentLink.Builder
-
Constructor Summary
Constructors Constructor Description CreatePaymentLink(java.lang.String partnerAccountID, java.lang.String merchantPaymentMethodID, Amount amount, PaymentLinkDisplayOptions display)CreatePaymentLink(java.lang.String partnerAccountID, java.lang.String merchantPaymentMethodID, Amount amount, java.util.Optional<java.lang.Long> maxUses, java.util.Optional<java.time.OffsetDateTime> expiresOn, PaymentLinkDisplayOptions display, java.util.Optional<? extends PaymentLinkCustomerOptions> customer, java.util.Optional<? extends PaymentLinkPaymentDetails> payment, java.util.Optional<? extends PaymentLinkPayoutDetails> payout)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Amountamount()static CreatePaymentLink.Builderbuilder()java.util.Optional<PaymentLinkCustomerOptions>customer()PaymentLinkDisplayOptionsdisplay()Customizable display options for a payment link.booleanequals(java.lang.Object o)java.util.Optional<java.time.OffsetDateTime>expiresOn()An optional expiration date for this payment link.inthashCode()java.util.Optional<java.lang.Long>maxUses()An optional limit on the number of times this payment link can be used.java.lang.StringmerchantPaymentMethodID()The merchant's preferred payment method ID.java.lang.StringpartnerAccountID()The partner's Moov account ID.java.util.Optional<PaymentLinkPaymentDetails>payment()Options for payment links used to collect payment.java.util.Optional<PaymentLinkPayoutDetails>payout()java.lang.StringtoString()CreatePaymentLinkwithAmount(Amount amount)CreatePaymentLinkwithCustomer(PaymentLinkCustomerOptions customer)CreatePaymentLinkwithCustomer(java.util.Optional<? extends PaymentLinkCustomerOptions> customer)CreatePaymentLinkwithDisplay(PaymentLinkDisplayOptions display)Customizable display options for a payment link.CreatePaymentLinkwithExpiresOn(java.time.OffsetDateTime expiresOn)An optional expiration date for this payment link.CreatePaymentLinkwithExpiresOn(java.util.Optional<java.time.OffsetDateTime> expiresOn)An optional expiration date for this payment link.CreatePaymentLinkwithMaxUses(long maxUses)An optional limit on the number of times this payment link can be used.CreatePaymentLinkwithMaxUses(java.util.Optional<java.lang.Long> maxUses)An optional limit on the number of times this payment link can be used.CreatePaymentLinkwithMerchantPaymentMethodID(java.lang.String merchantPaymentMethodID)The merchant's preferred payment method ID.CreatePaymentLinkwithPartnerAccountID(java.lang.String partnerAccountID)The partner's Moov account ID.CreatePaymentLinkwithPayment(PaymentLinkPaymentDetails payment)Options for payment links used to collect payment.CreatePaymentLinkwithPayment(java.util.Optional<? extends PaymentLinkPaymentDetails> payment)Options for payment links used to collect payment.CreatePaymentLinkwithPayout(PaymentLinkPayoutDetails payout)CreatePaymentLinkwithPayout(java.util.Optional<? extends PaymentLinkPayoutDetails> payout)
-
-
-
Constructor Detail
-
CreatePaymentLink
public CreatePaymentLink(java.lang.String partnerAccountID, java.lang.String merchantPaymentMethodID, Amount amount, java.util.Optional<java.lang.Long> maxUses, java.util.Optional<java.time.OffsetDateTime> expiresOn, PaymentLinkDisplayOptions display, java.util.Optional<? extends PaymentLinkCustomerOptions> customer, java.util.Optional<? extends PaymentLinkPaymentDetails> payment, java.util.Optional<? extends PaymentLinkPayoutDetails> payout)
-
CreatePaymentLink
public CreatePaymentLink(java.lang.String partnerAccountID, java.lang.String merchantPaymentMethodID, Amount amount, PaymentLinkDisplayOptions display)
-
-
Method Detail
-
partnerAccountID
public java.lang.String partnerAccountID()
The partner's Moov account ID.
-
merchantPaymentMethodID
public java.lang.String merchantPaymentMethodID()
The merchant's preferred payment method ID. Must be a wallet payment method.
-
amount
public Amount amount()
-
maxUses
public java.util.Optional<java.lang.Long> maxUses()
An optional limit on the number of times this payment link can be used.**For payouts, `maxUses` is always 1.**
-
expiresOn
public java.util.Optional<java.time.OffsetDateTime> expiresOn()
An optional expiration date for this payment link.
-
display
public PaymentLinkDisplayOptions display()
Customizable display options for a payment link.
-
customer
public java.util.Optional<PaymentLinkCustomerOptions> customer()
-
payment
public java.util.Optional<PaymentLinkPaymentDetails> payment()
Options for payment links used to collect payment.
-
payout
public java.util.Optional<PaymentLinkPayoutDetails> payout()
-
builder
public static CreatePaymentLink.Builder builder()
-
withPartnerAccountID
public CreatePaymentLink withPartnerAccountID(java.lang.String partnerAccountID)
The partner's Moov account ID.
-
withMerchantPaymentMethodID
public CreatePaymentLink withMerchantPaymentMethodID(java.lang.String merchantPaymentMethodID)
The merchant's preferred payment method ID. Must be a wallet payment method.
-
withAmount
public CreatePaymentLink withAmount(Amount amount)
-
withMaxUses
public CreatePaymentLink withMaxUses(long maxUses)
An optional limit on the number of times this payment link can be used.**For payouts, `maxUses` is always 1.**
-
withMaxUses
public CreatePaymentLink withMaxUses(java.util.Optional<java.lang.Long> maxUses)
An optional limit on the number of times this payment link can be used.**For payouts, `maxUses` is always 1.**
-
withExpiresOn
public CreatePaymentLink withExpiresOn(java.time.OffsetDateTime expiresOn)
An optional expiration date for this payment link.
-
withExpiresOn
public CreatePaymentLink withExpiresOn(java.util.Optional<java.time.OffsetDateTime> expiresOn)
An optional expiration date for this payment link.
-
withDisplay
public CreatePaymentLink withDisplay(PaymentLinkDisplayOptions display)
Customizable display options for a payment link.
-
withCustomer
public CreatePaymentLink withCustomer(PaymentLinkCustomerOptions customer)
-
withCustomer
public CreatePaymentLink withCustomer(java.util.Optional<? extends PaymentLinkCustomerOptions> customer)
-
withPayment
public CreatePaymentLink withPayment(PaymentLinkPaymentDetails payment)
Options for payment links used to collect payment.
-
withPayment
public CreatePaymentLink withPayment(java.util.Optional<? extends PaymentLinkPaymentDetails> payment)
Options for payment links used to collect payment.
-
withPayout
public CreatePaymentLink withPayout(PaymentLinkPayoutDetails payout)
-
withPayout
public CreatePaymentLink withPayout(java.util.Optional<? extends PaymentLinkPayoutDetails> payout)
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-