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.
eventTypestringOptional

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.

versionstringOptional

The payload version

typeenumOptional
Allowed values: RETRIEVALDISPUTEPREARBITRATION

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

statusenumOptional

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

primerAccountIdstringOptional

A unique identifier for your Primer merchant account.

transactionIdstringOptional

A unique identifier for the Primer transaction corresponding to this dispute.

orderIdstringOptional

Your reference for the sale transaction that the dispute relates to.

paymentIdstringOptional

A unique identifier for the Primer payment corresponding to this dispute.

paymentMethodobjectOptional

The payment method information for the payment that is now disputed.

processor"ADYEN" or "BRAINTREE"Optional
Allowed values: ADYENBRAINTREE

The payment processor that you submitted a payment to, and received a dispute notification from.

processorDisputeIdstringOptional

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.

receivedAtdatetimeOptional

Date and time at which Primer received the processor’s dispute event. Provided as an ISO timestamp in UTC.

challengeRequiredBydatetimeOptional

Time by which the merchant must challenge a dispute. This is provided by the processor, where available.

reasonstringOptional

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.

reasonCodestringOptional

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

processorReasonstringOptional

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.

amountintegerOptional

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.

currencystringOptional

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

merchantIdstringOptional

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}