Dispute Status

Primer notifies you with a DISPUTE.STATUS webhook that will provide information on retrievals, disputes (also known as chargebacks), and preabritration filings.

This notification is supported for processors Adyen, Braintree, Checkout.com & PayPal.

The DISPUTE.STATUS event can be used to proactively communicate with customers, issue refunds, send disputes to risk tools, or to proactively defend disputes.

The DISPUTE.STATUS event is currently in an open beta stage, as we continue to add more processors.

Learn more about managing disputes at Primer.

Headers

X-Signature-PrimarystringRequired

An HMAC signature generated using the webhook payload and a shared signing secret. This is then converted to a base64 encoded string.

X-Signature-SecondarystringRequired
A secondary signature that is added when you have rotated your secret within the past 24 hours.

Payload

The payload of this webhook request is an object.
eventType
stringOptional

The type of event that triggered the webhook. This will have the value DISPUTE.STATUS. This indicates that a dispute notification was issued through a configured connection.

Use these notifications to proactively communicate with your customer, issue refunds, or submit evidence to challenge disputes.

version
stringOptional
The payload version
type
enumOptional

The type of dispute event. More information on what the type field represents can be found in Manage disputes

Allowed values: RETRIEVALDISPUTEPREARBITRATION
status
enumOptional

To see which statuses are applicable for a dispute type, and how we map status, please see Manage disputes.

primerAccountId
stringOptional
A unique identifier for your Primer merchant account.
transactionId
stringOptional
A unique identifier for the Primer transaction corresponding to this dispute.
orderId
stringOptional
Your reference for the sale transaction that the dispute relates to.
paymentId
stringOptional
A unique identifier for the Primer payment corresponding to this dispute.
paymentMethod
objectOptional
The payment method information for the payment that is now disputed.
processor
enumOptional
The payment processor that you submitted a payment to, and received a dispute notification from.
Allowed values: ADYENBRAINTREE
processorDisputeId
stringOptional

An identifier for this dispute provided by the processor. This is shared across multiple dispute type and status relating to the same payment.

e.g. as an open dispute that is later challenged will share a proccessorDisputeId.

receivedAt
datetimeOptional
Date and time at which Primer received the processor's dispute event. Provided as an ISO timestamp in UTC.
challengeRequiredBy
datetimeOptional
Time by which the merchant must challenge a dispute. This is provided by the processor, where available.
reason
stringOptional

Primer’s unified reason that explains why the dispute was raised. This should not vary across processors for the same dispute reasonCode, unlike the processorReason.

reasonCode
stringOptional
The dispute reason code for a dispute. This will be the same code provided by the card schemes.
processorReason
stringOptional

The dispute reason provided by the processor. This can vary across processors for the same dispute reasonCode, which is why we provide a unified field - reason.

amount
integerOptional

The disputed amount. Note: this is not always the same as the payment amount.

This will be displayed in minor units.

e.g. for $7, use 700. Some currencies, such as Japanese Yen, do not have minor units. In this case you should use the value as it is, without any formatting. For example for ¥100, use 100.

currency
stringOptional

The 3-letter currency code in ISO 4217 format. e.g. use USD for US dollars.

merchantId
stringOptional
The merchant ID registered at the payment processor used for this dispute.

Response

200
any
Return a 200 status to indicate that the data was received successfully.
Payload
1{
2 "eventType": "string",
3 "version": "string",
4 "type": "RETRIEVAL",
5 "status": "OPEN",
6 "primerAccountId": "string",
7 "transactionId": "string",
8 "orderId": "string",
9 "paymentId": "string",
10 "paymentMethod": {
11 "paymentMethodType": "string",
12 "paymentMethodData": {
13 "network": "string"
14 }
15 },
16 "processor": "ADYEN",
17 "processorDisputeId": "string",
18 "receivedAt": "2023-01-01T00:00:00Z",
19 "challengeRequiredBy": "2023-01-01T00:00:00Z",
20 "reason": "string",
21 "reasonCode": "string",
22 "processorReason": "string",
23 "amount": 0,
24 "currency": "string",
25 "merchantId": "string"
26}