PayPal {#uc-pay-methods-bnpl-paypal}
====================================

PayPal is a secure and convenient payment service that your customers can use to make payments without directly using their bank accounts or credit cards. PayPal gives yours customers the option to pay in installments over time with PayPal Pay Later while also giving you the full payment immediately. These installments are available:

* **Pay in 3**: Pay in three installments. Available in the UK.
* **Pay in 4**: Pay in four installments. Available in the US.
* **Pay Monthly**: Pay in monthly recurring installments.

Opt in to Paypal on `Unified Checkout`
--------------------------------------

You can enable Paypal from the `Unified Checkout` merchant experience section in the `Business Center`. For information about how to enable Paypal using the `Business Center`, see [Configure Payment Options](/docs/vas/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro-setup/uc-intro-setup-ebc/uc-intro-payment-options.md "").  
You can also enable Paypal using the `Unified Checkout` `v1/sessions` API. Follow these steps to opt in to the Paypal payment method using the API:

1. Add Paypal to your integration by adding `PAYPAL` to the allowedPaymentTypes field within the capture context request.
2. Set the completeMandate.type field value to `AUTH`, `CAPTURE` or `PREFER_AUTH`.  
   You can perform a sale and capture the funds immediately if you include the completeMandate.type field in the capture context request and set the value to `CAPTURE`.  
   You can capture the funds later if you include the completeMandate.type field in the capture context request and set the value to `AUTH`. When you capture the funds later, you must perform a capture using the payments API. See [Captures](/docs/vas/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-pay-methods-intro/uc-altpay-methods-intro/uc-pay-methods-wallets/uc-pay-methods-wallet-captures.md "").  
   If you accept more than one payment type and must perform an authorization where funds are collected at a later time, set the completeMandate.type field to `PREFER_AUTH`. You must perform a capture using the payments API when an authorization is performed. A capture is performed automatically if an authorization is not allowed by the payment type.
3. Include these required fields in the capture context request:
   * orderInformation.amountDetails.currency
   * orderInformation.amountDetails.taxAmount
     * This field is the sum of all orderInformation.lineItems\[\].taxAmount values.
       {#uc-pay-methods-bnpl-paypal_ul_sk5_zjq_cjc}
   * orderInformation.amountDetails.totalAmount
     * This field is the sum of (orderInformation.lineItems\[\].quantity × orderInformation.lineItems\[\].unitPrice) + orderInformation.lineItems\[\].taxAmount for all line items.
       {#uc-pay-methods-bnpl-paypal_ul_h22_zjq_cjc}
   * orderInformation.lineItems\[\].productDescription
   * orderInformation.lineItems\[\].productName
   * orderInformation.lineItems\[\].productSKU
   * orderInformation.lineItems\[\].quantity
   * orderInformation.lineItems\[\].taxAmount

     > IMPORTANT
     > This field is required for all line items when you include orderInformation.lineItems\[\].taxAmount for one line item.

     * You can set this field value to `0.00`.
       {#uc-pay-methods-bnpl-paypal_ul_lwq_r53_cjc}
   * orderInformation.lineItems\[\].typeOfSupply
   * orderInformation.lineItems\[\].unitPrice
4. Include these optional fields in the capture context request:
   * buyerInformation.dateOfBirth
   * buyerInformation.language
   * buyerInformation.personalIdentification\[\].id
   * buyerInformation.personalIdentification\[\].type
   * clientReferenceInformation.reconciliationId
   * merchantInformation.merchantDescriptor.name
     * This field affects the name that the customers see on their card statement. If the merchant is Candy Shop and passes this as their name - customer will see `PAYPAL * Candy Shop` in their bank statement.
   * orderInformation.amountDetails.taxDetails.taxId
   * orderInformation.amountDetails.taxDetails.type
   * data.orderInformation.billTo.address1
   * data.orderInformation.billTo.company.name
   * data.orderInformation.billTo.country
   * data.orderInformation.billTo.email
   * data.orderInformation.billTo.firstName
   * data.orderInformation.billTo.lastName
   * data.orderInformation.billTo.locality
   * data.orderInformation.billTo.phoneNumber
   * orderInformation.invoiceDetails.invoiceNumber
   * orderInformation.invoiceDetails.productDescription
   * orderInformation.lineItems\[\].totalAmount
   * data.orderInformation.shipTo.country
   * data.orderInformation.shipTo.locality
   * data.orderInformation.shipTo.postalCode
   * paymentInformation.customer.customerid
   * processingInformation.processingInstruction
     * Set this field to `ORDER_SAVED_EXPLICITLY` to save the customer's payment credentials using the save an order follow-on request.

Example: Multiple Line-Items {#uc-pay-methods-bnpl-paypal_section_zfp_mv3_cjc}
------------------------------------------------------------------------------

This example includes multiple line items in the amountDetails field object:

```
{
  "amountDetails": {
    "totalAmount": "221.91",
    "currency": "USD",
    "taxAmount": "14.42"
  },
  "lineItems": [
    {
      "productName": "501 Original Fit Jeans Blues",
      "productSku": "00501019403432",
      "quantity": 1,
      "unitPrice": "100.0",
      "totalAmount": "100.00",
      "taxAmount": "8.63"
    },
    {
      "productName": "Levi Blue shirt Plaid",
      "productSku": "0094784142",
      "quantity": 1,
      "unitPrice": "100.00",
      "totalAmount": "100.00",
      "taxAmount": "5.79"
    },
    {
      "productName": "shipping_and_handling",
      "productSku": "shipping_and_handling",
      "quantity": 1,
      "unitPrice": "7.49",
      "totalAmount": "7.49",
      "taxAmount": "0.00"
    }
  ]
}
```

{#uc-pay-methods-bnpl-paypal_codeblock_n2l_qz3_cjc}
