Disputes Acceptance Test Criteria
Last updated: Sept 23rd, 6:35pm
Learn about the acceptance test criteria to test your Disputes API integration.
For concepts, see the Disputes Overview.
Terminology:
- SNAD. Not as described.
- NR. Non-receipt.
Dispute created webhook
1. PayPal SNAD case
The customer chooses a completed transaction to open an SNAD case.
Test steps | PayPal actions | Client actions |
---|---|---|
|
The action succeeds and the dispute created webhook is sent. |
|
2. PayPal NR case
The customer chooses a completed transaction to open an NR case.
Test steps | PayPal actions | Client actions |
---|---|---|
|
The action succeeds and the dispute created webhook is sent. |
|
3. PayPal SNAD case
The customer chooses a completed transaction to open an SNAD case.
Test steps | PayPal actions | Client actions |
---|---|---|
|
The action succeeds and the dispute created webhook is sent. |
|
4. PayPal NR case
The customer chooses a completed transaction to open an NR case.
Test steps | PayPal actions | Client actions |
---|---|---|
|
The action succeeds and the dispute created webhook is sent. |
|
5. PayPal unauthorized dispute case
The customer chooses a completed transaction to open an unauthorized case.
Note: When testing unauthorized disputes, the merchant can file the dispute as the buyer. In this case, the buyer and merchant receive different dispute IDs. For merchants, the format and identifiers of the notifications stay the same as other dispute types.
Test steps | PayPal actions | Client actions |
---|---|---|
|
The action succeeds and the dispute created webhook is sent. |
|
6. PayPal transaction error dispute case
Six different reason codes apply. The customer opens a transaction error dispute case.
Test steps | PayPal actions | Client actions |
---|---|---|
|
The action succeeds and the dispute created webhook is sent. |
|
7. The customer cannot open a duplicate dispute for a transaction
The customer cannot open a duplicate dispute for a transaction. After a dispute case is closed, The customer cannot open a dispute on the same transaction again.
Test steps | PayPal actions | Client actions |
---|---|---|
|
The customer cannot open dispute for the closed transaction. |
The customer cannot open a dispute for the closed transaction. |
Dispute updated webhook
8. The customer updates the NR reason code to SNAD
The customer can update the reason code from NR to SNAD.
Test steps | PayPal actions | Client actions |
---|---|---|
|
PayPal sends the dispute updated webhook with new reason code. |
The client receives the dispute updated webhook from PayPal and updates the reason code accordingly. |
9. The customer updates the NR reason code to unauthorized
The customer can update the NR reason code to unauthorized.
Test steps | PayPal actions | Client actions |
---|---|---|
|
PayPal sends the dispute updated webhook with new reason code. |
The client receives the dispute updated webhook from PayPal and updates the reason code accordingly. |
10. The customer sends message or offer to merchant for NR or SNAD dispute in INQUIRY phase
The dispute lifecycle stage is inquiry. The customer sends a message or offer to the merchant through the resolution center.
Test steps | PayPal actions | Client actions |
---|---|---|
|
PayPal sends dispute updated webhook with message or offer details. |
The client receives the latest message and or offer details from PayPal and updates its internal system accordingly. |
Dispute resolved webhook
11. The customer cancels dispute
The customer cancels a dispute in resolution center.
Test steps | PayPal actions | Client actions |
---|---|---|
|
The action succeeds and PayPal sends the dispute resolved webhook. |
The client receives the dispute resolved webhook. |
12. Dispute case close (customer win)
The PayPal agent settles the case in the customer's favor.
Test steps | PayPal actions | Client actions |
---|---|---|
|
The action succeeds. |
The client receives the dispute resolved webhook. |
13. Dispute case close (merchant win)
The PayPal agent settles the case in the merchant's favor.
Test steps | PayPal actions | Client actions |
---|---|---|
|
The action succeeds. |
The client receives the dispute resolved webhook. |
Provide evidence
14. Provide multiple photos, materials with provide evidence API
The client calls provide evidence to provide evidence and materials and upload files for all reason types.
Test steps | PayPal actions | Client actions |
---|---|---|
The supported file sizes and formats are:
|
Each API call succeeds. |
Each API call succeeds. |
15. Check actions allowed through HATEAOS links and due date based on merchant response due
To determine whether to call provide evidence, accept claim, or appeal dispute, client must check seller response due date in show dispute details.
Test steps | PayPal actions | Client actions |
---|---|---|
|
Each API call succeeds. | If the date exceeds the merchant response due date, the update provides error message. |
16. Provide evidence with PROOF_OF_REFUND
PayPal enables the client to provide tracking information for all reason codes.
Test steps | PayPal actions | Client actions |
---|---|---|
|
Each API call succeeds. | Each API call succeeds. |
17. Provide evidence with PROOF_OF_SHIPMENT
PayPal enables the client to provide tracking information for non-receipt, unauthorized, and other cases.
Test steps | PayPal actions | Client actions |
---|---|---|
|
Each API call succeeds. | Each API call succeeds. |
Accept claim
18. The client accepts claim to refund customer requested dispute amount
If the client decides to not dispute the case, client can call accept claim to refund the customer.
Test steps | PayPal actions | Client actions |
---|---|---|
|
Each API call succeeds and returns the expected response. | Each API call succeeds and returns the expected response. The client receives the dispute resolved webhook. Refund amount is available in outcome. |
19. The client accepts claim to refund customer if customer returns item to specified address (for SNAD) in INQUIRY phase
If case is SNAD, client can call accept claim to make a refund.
Test steps | PayPal actions | Client actions |
---|---|---|
|
The tracking information is returned in show dispute details. |
Client can get tracking information in show dispute details and update the case on their end. |
20. The client accepts claim to refund customer if customer returns item to specified address (for SNAD) in CHARGEBACK phase
If case is SNAD, client calls accept claim to make the refund.
Test steps | PayPal actions | Client actions |
---|---|---|
|
The show dispute details call shows the tracking information. | The client gets tracking information through the show dispute details call and updates the case on their end. |
21. The client accepts to refund customer different amount from dispute amount (partial refund)
If the case is SNAD and the client decides to replace the item to satisfy the customer, client must replace the items and the customer must confirm receipt of the replacement item (no return required from customer)
Test steps | PayPal actions | Client actions |
---|---|---|
|
Each API call succeeds and returns expected response. |
Each API call succeeds. If the refund amount is greater or equal to customer-requested dispute amount, the case is resolved and the client receives the dispute resolved webhook. If the amount is less than customer-requested dispute amount, it triggers an email to customer seeking his or her consent in the resolution center. |
Appeal dispute
22. Call appeal dispute to provide multiple photos, materials
The client calls appeal dispute to provide evidence and materials and upload files for all reason types.
Test steps | PayPal actions | Client actions |
---|---|---|
Open a dispute. |
Each API call succeeds. | Each API call succeeds. |
23. Check actions allowed through HATEAOS links and due date based on merchant response due
The client must check merchant response due date in show dispute details to determine whether they must call provide evidence, accept claim, or appeal dispute.
Test steps | PayPal actions | Client actions |
---|---|---|
|
Each API call succeeds. | If the date exceeds the merchant response due date, update provides error message. |
24. Appeal with PROOF_OF_REFUND
PayPal enables client to provide tracking information for all reason codes.
Test steps | PayPal actions | Client actions |
---|---|---|
|
Each API call succeeds. | Each API call succeeds. |
25. Appeal with PROOF_OF_SHIPMENT
PayPal enables the client to provide tracking information for non receipt, unauthorized, and other cases.
Test steps | PayPal actions | Client actions |
---|---|---|
|
Each API call succeeds. | Each API call succeeds. |
Send message
26. PayPal SNAD case
The customer chooses a completed transaction to open an SNAD case. The merchant can reply to the customer through " send message " for that dispute.
Test steps | PayPal actions | Client actions |
---|---|---|
|
Each API call succeeds and the merchant message is visible in show dispute details. | Each API call succeeds and merchant message is visible in show dispute details. |
27. PayPal NR case
The customer chooses a completed transaction to open a non receipt case. Merchant can reply to the customer through " send message " for that dispute.
Test steps | PayPal actions | Client actions |
---|---|---|
|
Each API call succeeds and merchant message is visible in show dispute details and message is visible in the resolution center. | Each API call succeeds and merchant message is visible in show dispute details. |
Make offer
28. PayPal SNAD case and refund offer
The customer chooses a completed transaction to open an SNAD case. The merchant can make an offer to the customer to amicably resolve the dispute. Offer type: REFUND
only
Test steps | PayPal actions | Client actions |
---|---|---|
|
Each API call succeeds and seller_offered_amount and offer type is visible in show dispute details. |
Each API call succeeds and seller_offered_amount is visible in show dispute details. |
29. PayPal SNAD case and refund with return offer (no replacement)
The customer chooses a completed transaction to open an SNAD case. The merchant can make an offer to the customer to amicably resolve the dispute. Offer type: REFUND WITH RETURN
Test steps | PayPal actions | Client actions |
---|---|---|
|
Each API call succeeds and seller_offered_amount and offer type is visible in show dispute details. |
Each API call succeeds and seller_offered_amount is visible in show dispute details. |
30. PayPal SNAD case and refund with replacement (no return)
The customer chooses a completed transaction to open an SNAD case. Merchant can make an offer to the customer to amicably resolve the dispute. Offer type: REFUND WITH REPLACEMENT
Test steps | PayPal actions | Client actions |
---|---|---|
Prerequisite. Opt in dispute phase as a merchant. |
Each API call succeeds and seller_offered_amount and offer type is visible in show dispute details. |
Each API call succeeds and seller_offered_amount is visible in show dispute details. |
31. PayPal NR case
The customer chooses a completed transaction to open a non receipt case. Merchant can make an offer to the customer to amicably resolve the dispute. Offer type: REFUND
.
Test steps | PayPal actions | Client actions |
---|---|---|
|
Each API call succeeds and seller_offered_amount and offer type is visible in show dispute details. |
Each API call succeeds and seller_offered_amount is visible in show dispute details. |
Escalate claim
32. PayPal SNAD case
The customer chooses a completed transaction to open an SNAD case. Merchant escalates the case as he or she cannot come to an amicable resolution with the customer.
Test steps | PayPal actions | Client actions |
---|---|---|
|
Each API call succeeds and dispute lifecycle stage is updated from INQUIRY to CHARGEBACK and is visible in show dispute details. Dispute updated webhook is also triggered in the system. |
Each API call succeeds and dispute lifecycle stage is updated from INQUIRY to CHARGEBACK and is visible in show dispute details. |
33. PayPal NR case
The customer chooses a completed transaction to open an SNAD case. The merchant escalates the case as he or she cannot come to an amicable resolution with the customer.
Test steps | PayPal actions | Client actions |
---|---|---|
|
Each API call succeeds and dispute lifecycle stage is updated from INQUIRY to CHARGEBACK and is visible in show dispute details. Dispute updated webhook is also triggered in the system. |
Each API call succeeds and dispute lifecycle stage is updated from INQUIRY to CHARGEBACK and is visible in show dispute details. |
Other
34. Identify unique webhook through webhook ID
Client can use webhook ID in dispute webhook to identify whether this is a duplicated webhook.
Test steps | PayPal actions | Client actions |
---|---|---|
|
Each API call succeeds. | Client can identify unique webhook through webhook ID. |