Search code examples
paypal

PayPal Invoicing API - VALIDATION_ERROR


I am developing an application that communicates with PayPal's API to create invoices.

This is my Request Body:

{
  "detail": {
    "currency_code": "USD",
    "note": "Thank you for using my services!"
  },
  "invoicer": {
    "name": {
      "given_name": "Shreyas",
      "surname": "Ayyengar"
    },
    "email_address": "{email}",
    "website": "{website}"
  },
  "primary_recipients": [
    {
      "billing_info": {
        "email_address": "{client_email}"
      }
    }
  ],
  "items": [
    {
      "name": "{invoice_name}",
      "description": "{invoice_description}",
      "quantity": "1",
      "unit_amount": {
        "currency_code": "USD",
        "value": "{invoice_amount}"
      },
      "tax": {
        "name": "PayPal Service Tax",
        "percent": "7.25"
      }
    }
  ],
  "configuration": {
    "partial_payment": {
      "allow_partial_payment": false
    },
    "allow_tip": true
  }
}

While there are placeholders like: {client_email}, I can guarantee that they are replacing properly and as expected.

However I'm thrown a VALIDATION_ERROR which I am not able to understand: {"name":"VALIDATION_ERROR","message":"Invalid request - see details.","information_link":"https://developer.paypal.com/docs/api/invoicing/#errors","details":[{"field":"merchant_info","issue":"cannot be null."},{"field":"items[0].unit_price","issue":"null"}]}

From what I can minimally understand, this error says that I have missing information like Items[].unit_price and merchant_info however I have no idea where this is supposed to be in my Request Body. I am following the direct documentationhere but I cannot see anything that mentions unit_price or merchant_info.


Solution

  • Submit your request to the correct API endpoint, https://api-m.sandbox.paypal.com/v2/invoicing/invoices

    Note the major version number. See the Invoicing API reference for details.