Class DefaultPayPalOrderService
java.lang.Object
com.broadleafcommerce.paypal.micro.service.DefaultPayPalOrderService
- All Implemented Interfaces:
PayPalOrderService
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultPayPalOrderService(PayPalCheckoutProvider checkoutProvider, PayPalApiProvider apiProvider, PayPalGatewayConfiguration gatewayConfiguration, PayPalCheckoutApiProperties properties) -
Method Summary
Modifier and TypeMethodDescriptionprotected AmountWithBreakdownconstructAmountWithBreakdown(@NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest) constructItems(@NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest) protected PayeeconstructPayee(@NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest) Constructions aPayeeto place on thePurchaseUnitwhen creating an order.protected PaymentSourceconstructPaymentSource(@NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest) protected ShippingDetailconstructShippingDetail(@NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest) convertToMoney(javax.money.MonetaryAmount amount) protected OrdercreateOrder(@NonNull OrderRequest orderRequest, @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest) createPayPalOrder(@NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest, boolean performCheckoutOnReturn, boolean capture) Creates a PayPalOrder.protected PayPalCheckoutProviderprotected PayPalGatewayConfigurationgetIntent(boolean performCheckoutOnReturn, boolean capture) protected StringgetPayerEmail(@NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest) protected PayPalCheckoutApiPropertiesprotected StringgetStateCode(@NonNull com.broadleafcommerce.paymentgateway.domain.Address<com.broadleafcommerce.paymentgateway.domain.PaymentRequest> address) PayPal supports only the State code with a short form, e.g.protected voidupdateOrder(String orderId, List<Patch> patches, @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest) voidupdateOrderCustomId(@NonNull String orderId, @NonNull String customId, @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest) Updates the PayPalOrderto include the provided custom ID value.voidupdatePayPalOrder(@NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest) Updates the PayPalOrderto be in sync with the Broadleaf order.
-
Constructor Details
-
DefaultPayPalOrderService
public DefaultPayPalOrderService(PayPalCheckoutProvider checkoutProvider, PayPalApiProvider apiProvider, PayPalGatewayConfiguration gatewayConfiguration, PayPalCheckoutApiProperties properties)
-
-
Method Details
-
createPayPalOrder
public Order createPayPalOrder(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest, boolean performCheckoutOnReturn, boolean capture) Description copied from interface:PayPalOrderServiceCreates a PayPalOrder.- Specified by:
createPayPalOrderin interfacePayPalOrderService- Parameters:
paymentRequest- The gatewayPaymentRequestcontaining the information necessary to construct the orderperformCheckoutOnReturn- Indicates if we should start checkout after the user has authorized the order- Returns:
- The new
Order
-
updatePayPalOrder
public void updatePayPalOrder(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest) Description copied from interface:PayPalOrderServiceUpdates the PayPalOrderto be in sync with the Broadleaf order.Our default implementation of this method updates the pricing information in the PayPal order after
Ordercreation to keep both order representations in sync. For creating an order usePayPalOrderService.createPayPalOrder(PaymentRequest, boolean, boolean).- Specified by:
updatePayPalOrderin interfacePayPalOrderService- Parameters:
paymentRequest- The gatewayPaymentRequest
-
updateOrderCustomId
public void updateOrderCustomId(@NonNull @NonNull String orderId, @NonNull @NonNull String customId, @NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest) Description copied from interface:PayPalOrderServiceUpdates the PayPalOrderto include the provided custom ID value.- Specified by:
updateOrderCustomIdin interfacePayPalOrderService- Parameters:
orderId- the primary identifier of the PayPalOrdercustomId- the value that is to be stored on the PayPalOrderobjectpaymentRequest- The originatingPaymentRequest
-
getIntent
-
constructPaymentSource
protected PaymentSource constructPaymentSource(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest) -
getPayerEmail
@Nullable protected String getPayerEmail(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest) -
constructPayee
@Nullable protected Payee constructPayee(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest) Constructions aPayeeto place on thePurchaseUnitwhen creating an order. This is used only for PayPal's marketplace offering.- Parameters:
paymentRequest- The gatewayPaymentRequestwith the payment info.- Returns:
- a
Payeeto place on thePurchaseUnitor null if noMessageConstants.PAYEE_MERCHANT_IDonPaymentRequest.getAdditionalFields()
-
constructItems
-
constructShippingDetail
@Nullable protected ShippingDetail constructShippingDetail(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest) -
convertToMoney
-
getStateCode
@Nullable protected String getStateCode(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.Address<com.broadleafcommerce.paymentgateway.domain.PaymentRequest> address) PayPal supports only the State code with a short form, e.g. "AL" instead of "US-AL". -
createOrder
protected Order createOrder(@NonNull @NonNull OrderRequest orderRequest, @NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest) -
updateOrder
-
constructAmountWithBreakdown
protected AmountWithBreakdown constructAmountWithBreakdown(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest) -
getCheckoutProvider
-
getGatewayConfiguration
-
getProperties
-