Venmo {#uc-pay-methods-obt-venmo}
=================================

Venmo is a mobile payment service that is owned by PayPal and enables your customers to make payments from their Venmo mobile application. Customers link their Venmo accounts to their bank accounts, debit cards, and credit cards to send and receive payments. Venmo is a secure and convenient payment service for your customers to make payments without directly using their bank accounts or credit cards.

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

You can enable Venmo from the `Unified Checkout` merchant experience section in the `Business Center`. For information about how to enable Venmo using the `Business Center`, see [Configure Payment Options](/docs/cybs/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 Venmo using the `Unified Checkout` `v1/sessions` API. Follow these steps to opt in to the Venmo payment method using the API:

1. Add Venmo to your integration by adding `VENMO` to the allowedPaymentTypes field object within the capture context request:
2. Set the completeMandate.type field value to `CAPTURE` or `PREFER_AUTH`.  
   You can capture the funds immediately if you include the completeMandate.type field in the capture context request and set the value to `CAPTURE`.  
   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`. The funds are captured immediately for the online bank transfer.
3. Include these required fields for online bank transfers 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-obt-venmo_ul_myc_rcj_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-obt-venmo_ul_g4t_scj_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-obt-venmo_ul_lwq_r53_cjc}
   * 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
   * orderInformation.lineItems\[\].typeOfSupply.type
   * 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-obt-venmo_section_ar5_zbj_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-obt-venmo_codeblock_br5_zbj_cjc}
