Prerequisites
- Get your access token.
- Use Postman to test the PayPal APIs.
- Use the sandbox environment.
Simulation methods
You can simulate responses in two ways: JSON pointer method or the path parameter method.JSON pointer method
Request location | Test value | Simulated response |
---|---|---|
detail.reference | ERRINV001 | PERMISSION_DENIED |
Request
Response
Path parameter method
Use test value in the request URI. This simulates a response.Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0010 | INVOICE_NOT_FOUND |
Request
Response
Test values
Note: Test values are case sensitive. The following test values simulate different responses for each Invoicing API operation. Each operation shows where to insert the test value and the response you can expect.Generate invoice number
Use the path parameter in the request URI atPOST /v2/invoicing/invoices/generate-next-invoice-number
to simulate the following error responses.
Test value | Simulated response |
---|---|
ERRINV066 | INTERNAL_SERVER_ERROR |
ERRINV067 | PERMISSION_DENIED |
Create invoices
Use the JSON pointer method atPOST /v2/invoicing/invoices/
to simulate the following error responses.
Request location | Test value | Simulated response |
---|---|---|
detail.reference | ERRINV001 | INTERNAL_SERVER_ERROR |
detail.reference | ERRINV002 | PERMISSION_DENIED |
detail.reference | ERRINV003 | UNSUPPORTED_MEDIA_TYPE |
detail.reference | ERRINV004 | VALIDATION_ERROR_EMPTY_BODY |
detail.reference | ERRINV005 | INVALID_REQUEST_GENERIC |
detail.reference | ERRINV006 | INVALID_REQUEST_SCHEMA_VIOLATION |
Get invoice
Use the path parameter in the request URI atGET /v2/invoicing/invoices/{invoice_id}
to simulate the following error responses.
Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0007 | INTERNAL_SERVER_ERROR |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0008 | PERMISSION_DENIED |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0009 | UNAUTHORIZED_ACCESS |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0010 | INVOICE_NOT_FOUND |
Delete invoice
Use the path parameter in the request URI method to simulate the following response atDELETE /v2/invoicing/invoices/{invoice_id}
.
Success
Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0059 | PAYLOAD WITH 200 RESPONSE CODE |
Error
Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0055 | INTERNAL_SERVER_ERROR |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0056 | PERMISSION_DENIED |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0057 | UNAUTHORIZED_ACCESS |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0058 | INVOICE_NOT_FOUND |
Update the invoice
Use the path parameter in the request URI method to simulate the following error response atPUT /v2/invoicing/invoices/{invoice_id}
.
Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0060 | INTERNAL_SERVER_ERROR |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0061 | PERMISSION_DENIED |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0062 | UNSUPPORTED_MEDIA_TYPE |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0063 | VALIDATION_ERROR_EMPTY_BODY |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0064 | INVALID_REQUEST_GENERIC |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0065 | INVALID_REQUEST_SCHEMA_VIOLATION |
Cancel a sent invoice
Use the path parameter in the request URI method to simulate the following response atPOST /v2/invoicing/invoices/{invoice_id}/cancel
.
Success
Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0029/cancel | PAYLOAD WITH 204 RESPONSE CODE |
Error
Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0024/cancel | INTERNAL_SERVER_ERROR |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0025/cancel | PERMISSION_DENIED |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0026/cancel | UNAUTHORIZED_ACCESS |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0027/cancel | INVOICE_NOT_FOUND |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0028/cancel | CANT_CANCEL_INVOICE_IN_DRAFT_STATE |
Record payment for invoice
Use the path parameter in the request URI method to simulate the following response atPOST /v2/invoicing/invoices/{invoice_id}/payments
.
Success
Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0037/payments | PAYLOAD WITH 200 RESPONSE CODE |
Error
Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0031/payments | INTERNAL_SERVER_ERROR |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0032/payments | PERMISSION_DENIED |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0033/payments | UNAUTHORIZED_ACCESS |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0034/payments | INVOICE_NOT_FOUND |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0035/payments | CANT_PAY_AN_PAID_OR_CANCELED_INVOICE |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0036/payments | CANT_PAY_MORE_THAN_INVOICE_AMOUNT |
Delete payment
Use the path parameter in the request URI method to simulate the following response atDELETE /v2/invoicing/invoices/INV2-ABCD-1234-EFGH-5678/payments/{transaction_id}
.
Success
Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EFGH-5678/payments/EXT-ABCDEFGHERRINV042 | PAYLOAD WITH 200 RESPONSE CODE |
Error
Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EFGH-5678/payments/EXT-ABCDEFGHERRINV038 | INTERNAL_SERVER_ERROR |
/v2/invoicing/invoices/INV2-ABCD-1234-EFGH-5678/payments/EXT-ABCDEFGHERRINV039 | PERMISSION_DENIED |
/v2/invoicing/invoices/INV2-ABCD-1234-EFGH-5678/payments/EXT-ABCDEFGHERRINV040 | UNAUTHORIZED_ACCESS |
/v2/invoicing/invoices/INV2-ABCD-1234-EFGH-5678/payments/EXT-ABCDEFGHERRINV041 | PAYMENT_OR_INVOICE_NOT_FOUND |
Record refund for invoice
Use the path parameter in the request URI method to simulate the following response atPOST /v2/invoicing/invoices/{invoice_id}/refunds
:
Success
Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0049/refunds | PAYLOAD WITH 200 RESPONSE CODE |
Error
Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0043/refunds | INTERNAL_SERVER_ERROR |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0044/refunds | PERMISSION_DENIED |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0045/refunds | UNAUTHORIZED_ACCESS |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0046/refunds | INVOICE_NOT_FOUND |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0047/refunds | CANT_REFUND_A_CANCELED_INVOICE |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0048/refunds | CANT_REFUND_MORE_THAN_PAYMENT_AMOUNT |
Delete refund
Use the path parameter in the request URI method to simulate the following response atDELETE /v2/invoicing/invoices/{invoice_id}/refunds/{transaction_id}
.
Success
Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EFGH-5678/refunds/EXT-ABCDEFGHERRINV054 | PAYLOAD WITH 200 RESPONSE CODE |
Error
Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EFGH-5678/refunds/EXT-ABCDEFGHERRINV050 | INTERNAL_SERVER_ERROR |
/v2/invoicing/invoices/INV2-ABCD-1234-EFGH-5678/refunds/EXT-ABCDEFGHERRINV051 | PERMISSION_DENIED |
/v2/invoicing/invoices/INV2-ABCD-1234-EFGH-5678/refunds/EXT-ABCDEFGHERRINV052 | UNAUTHORIZED_ACCESS |
/v2/invoicing/invoices/INV2-ABCD-1234-EFGH-5678/refunds/EXT-ABCDEFGHERRINV053 | REFUND_OR_INVOICE_NOT_FOUND |
Send invoice reminder
Use the path parameter in the request URI method to simulate the following response atPOST /v2/invoicing/invoices/{invoice_id}/remind
.
Success
Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0023/remind | PAYLOAD WITH 200 RESPONSE CODE |
Error
Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0017/remind | INTERNAL_SERVER_ERROR |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0018/remind | PERMISSION_DENIED |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0019/remind | UNAUTHORIZED_ACCESS |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0020/remind | INVOICE_NOT_FOUND |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0021/remind | CANT_REMIND_INVOICE_IN_DRAFT_STATE |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0022/remind | CANT_REMIND_INVOICE_WITHOUT_BILLING_INFO |
Send invoice
Use the path parameter in the request URI method to simulate the following response atPOST /v2/invoicing/invoices/{invoice_id}/send
.
Success
Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0016/send | PAYLOAD WITH 200 RESPONSE CODE |
Error
Test value | Simulated response |
---|---|
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0011/send | INTERNAL_SERVER_ERROR |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0012/send | PERMISSION_DENIED |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0013/send | UNAUTHORIZED_ACCESS |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0014/send | INVOICE_NOT_FOUND |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0015/send | CANT_SEND_INVOICE_WITHOUT_EMAIL |
/v2/invoicing/invoices/INV2-ABCD-1234-EINV-0030/send | CANT_SEND_ALREADY_SENT_INVOICE |
Search invoices
Use the path parameter in the request URI method to simulate the following error responses atPOST /v2/invoicing/search-invoices
.
Test value | Simulated response |
---|---|
ERRINV068 | INTERNAL_SERVER_ERROR |
ERRINV069 | PERMISSION_DENIED |
ERRINV070 | INVALID_REQUEST |