Skip to main content

Challenge a chargeback

You can request J.P. Morgan to challenge a dispute by sending a POST request to /disputes/{disputeId}/challenge endpoint. This applies only to chargebacks. Remember to include your documentation to support the validity of your transaction in your challenge request. See documentation parameters.

Important request fields

Important required request fields
Request Field Name                                              Description Required Location                              
disputeId This path parameter is a unique identifier assigned by J.P. Morgan to track each inquiry or case created for a transaction dispute on an account. Y Path Parameter
merchant-id Identifies a unique entity for transaction processing at the lowest level of the account hierarchy of the backend proprietary merchant acquiring processing platform. This level organizes transaction types for submission, funding, and reporting. Y Header
request-id Unique request identifier provided by the requestor in the request header. Y Header
last4CardNumber Identifies the last 4 digits of the 16 digit card number. The truncated value is used in place of the full number to protect against exposure of confidential information. Y Body
supportingDocuments Provide list of supporting document(s) for the challenge request. Each document has a documentName and documentContent. Please ensure that the documents provided adhere to the document types. Y Body

Important response fields

Important response fields
Response Field Name                                                   Description
actionProcessingStatus

Dispute action processing status code, in response to the case action requested by you. Possible values:

IN_PROGRESS: The request is being processed asynchronously and this is applicable for HTTP response status code 202. Check the retrieve-status endpoint for updates.

COMPLETED: The request was processed successfully and this is applicable for HTTP response status code 200. Check error messages for details.

traceId A number assigned by a transaction originator to assist in identifying a transaction uniquely. The systems trace audit number remains unchanged for all messages within a transaction.

HTTP method: POST

Endpoint: /disputes/{disputeId}/challenge

Scenario: Challenge a Dispute

Json
{
  "last4CardNumber": "1118",
  "supportingDocuments": [
    {
      "documentName": "Sample.pdf",
      "documentContent": "base64-encoded-content."
    }
  ]
}

Response:

Json
{
  "requestId": "8be7709f-0e31-4838-a932-75e97fde35fd",
  "disputeId": 256156730,
  "actionProcessingStatus": "IN_PROGRESS",
  "disputeStatus": "NEW",
  "statusUpdateTimestamp": "2025-06-26T16:17:41.209382006Z",
  "traceId": "4af3bb3b-f3c7-402e-ae39-347771afaa2f"
}

Scenario: Challenge a Dispute - Invalid Document Type

Json
{
  "last4CardNumber": "1118",
  "supportingDocuments": [
    {
      "documentName": "Sample.txt",
      "documentContent": "Invalid document content, as plain text is not a valid format."
    }
  ]
}

Response:

Json
{
  "httpStatus": 400,
  "title": "Document validation failed",
  "requestId": "b750c808-1f77-4de6-8c6a-6844ce7fc096",
  "traceId": "7bcc6944-a411-47ae-a529-e094e4aa70dd",
  "context": [
    {
      "code": "11002",
      "message": "Invalid document type for network type : VI, allowed types are 'pdf/tif/tiff'",
      "field": "supportingDocument",
      "location": "BODY"
    }
  ]
}