We are currently working on integrating the dispute evidence submission flow through your Admin GraphQL API as part of our workflow, but we’re encountering some difficulties due to gaps or ambiguity in the documentation.
As part of our process, we are performing the following steps:
Requesting a staged upload URL using stagedUploadsCreate.
Uploading the file to the generated shopify-staged-uploads.storage.googleapis.com URL with the appropriate form fields.
Submitting the evidence using the disputeEvidenceUpdate mutation with the uploaded file’s ID.
Despite following these steps, the final mutation doesn’t seem to register the evidence as expected. We would appreciate clarification on the following points:
Is this the correct sequence for submitting evidence via file for Shopify Payments disputes?
Should we use the ShopifyPaymentsDisputeFileUploadDestroy mutation as part of this flow, or only disputeEvidenceUpdate?
Are there any required fields or intermediate steps missing from the documentation?
Could you provide a working example or end-to-end sample of the complete GraphQL flow?
If it helps, here’s an example of the final mutation we’re using:
mutation ShopifyPaymentsDisputeFileUploadDestroy($id: ID!, $fileId: ID!) {
disputeEvidenceUpdate(id: $id, input: {
uncategorizedFile: {
id: $fileId,
destroy: false
}
}) {
disputeEvidence {
disputeFileUploads {
id
originalFileName
}
}
userErrors {
field
message
}
}
}
We would greatly appreciate your guidance or a sample implementation that ensures evidence is properly linked and submitted.
Best regards,
Itay Kirshenboim