Keep track of and act on your open disputes (also known as chargebacks) to submit the best possible response.
Returns a list of all disputes against your business. The results will be returned in reverse chronological order, showing the last modified dispute (for example, where you've recently added a piece of evidence) first. You can use the optional parameters below to skip or limit results.
Disputes retrieved successfully
Unauthorized
Unprocessable paging
// For more information please refer to https://github.com/checkout/checkout-sdk-net using Checkout.Disputes; //API keys ICheckoutApi api = CheckoutSdk.Builder().StaticKeys() .SecretKey("secret_key") .Environment(Environment.Sandbox) .EnvironmentSubdomain("{prefix}") // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. .HttpClientFactory(new DefaultHttpClientFactory()) .Build(); //OAuth ICheckoutApi api = CheckoutSdk.Builder().OAuth() .ClientCredentials("client_id", "client_secret") .Scopes(OAuthScope.Disputes) .Environment(Environment.Sandbox) .EnvironmentSubdomain("{prefix}") // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. .HttpClientFactory(new DefaultHttpClientFactory()) .Build(); DisputesQueryFilter request = new DisputesQueryFilter { Limit = 250, To = DateTime.Now, }; try { DisputesQueryResponse response = await api.DisputesClient().Query(request); } catch (CheckoutApiException e) { // API error string requestId = e.RequestId; var statusCode = e.HttpStatusCode; IDictionary<string, object> errorDetails = e.ErrorDetails; } catch (CheckoutArgumentException e) { // Bad arguments } catch (CheckoutAuthorizationException e) { // Invalid authorization }
{- "limit": 10,
- "skip": 10,
- "from": "2018-08-12T01:15:56Z",
- "to": "2018-08-13T11:09:01Z",
- "id": "dsp_rbhwd2qrg13uhrp2newfcd",
- "entity_ids": "ent_wxglze3wwywujg4nna5fb7ldli,ent_vkb5zcy64zoe3cwfmaqvqyqyku",
- "sub_entity_ids": "ent_uzm3uxtssvmuxnyrfdffcyjxeu,ent_hy5wtzwzeuwefmsnjtdhw4scfi",
- "processing_channel_ids": "pc_uzm3uxtssvmuxnyrfdffcyjxeu,pc_hy5wtzwzeuwefmsnjtdhw4scfi",
- "segment_ids": "string",
- "statuses": "evidence_required,evidence_under_review",
- "payment_id": "pay_lzmo6p0i3612judj754w1ngtil",
- "payment_reference": "th7zxa1kcnqmes8",
- "payment_arn": "74548998294293193445538",
- "payment_mcc": "5021",
- "this_channel_only": true,
- "total_count": 1,
- "data": [
- {
- "id": "dsp_rbhwd2qrg13uhrp2newfafreds",
- "entity_id": "ent_wxglze3wwywujg4nna5fb7ldli",
- "sub_entity_id": "ent_uzm3uxtssvmuxnyrfdffcyjxeu",
- "processing_channel": "pc_uzm3uxtssvmuxnyrfdffcyjxeu",
- "segment_id": "string",
- "category": "fraudulent",
- "status": "evidence_required",
- "amount": 999,
- "currency": "GBP",
- "reason_code": "10.4",
- "payment_id": "pay_88cb4e671m1da22e9bbbyx",
- "payment_action_id": "act_mbabizu24mvu3mela5njyhpit4",
- "payment_reference": "th7zxa1kcnqmes8",
- "payment_arn": "74548998294293193445538",
- "payment_mcc": "5021",
- "payment_method": "VISA",
- "evidence_required_by": "2018-08-22T00:00:00Z",
- "received_on": "2018-08-01T01:15:56Z",
- "last_update": "2018-08-12T04:15:56Z",
- "resolved_reason": "already_refunded",
- "is_ce_candidate": true,
}
]
}Returns all the details of a dispute using the dispute identifier.
Dispute retrieved successfully
Unauthorized
Dispute not found
// For more information please refer to https://github.com/checkout/checkout-sdk-net using Checkout.Disputes; //API keys ICheckoutApi api = CheckoutSdk.Builder().StaticKeys() .SecretKey("secret_key") .Environment(Environment.Sandbox) .EnvironmentSubdomain("{prefix}") // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. .HttpClientFactory(new DefaultHttpClientFactory()) .Build(); //OAuth ICheckoutApi api = CheckoutSdk.Builder().OAuth() .ClientCredentials("client_id", "client_secret") .Scopes(OAuthScope.Disputes) .Environment(Environment.Sandbox) .EnvironmentSubdomain("{prefix}") // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. .HttpClientFactory(new DefaultHttpClientFactory()) .Build(); try { DisputeDetailsResponse response = await api.DisputesClient().GetDisputeDetails("disputes_id"); } catch (CheckoutApiException e) { // API error string requestId = e.RequestId; var statusCode = e.HttpStatusCode; IDictionary<string, object> errorDetails = e.ErrorDetails; } catch (CheckoutArgumentException e) { // Bad arguments } catch (CheckoutAuthorizationException e) { // Invalid authorization }
{- "id": "dsp_rbhwd2qrg13uhrp2newfarfder",
- "entity_id": "ent_wxglze3wwywujg4nna5fb7ldli",
- "sub_entity_id": "ent_uzm3uxtssvmuxnyrfdffcyjxeu",
- "reference": "dispute-09",
- "category": "fraudulent",
- "amount": 999,
- "currency": "GBP",
- "reason_code": "10.4",
- "status": "evidence_required",
- "resolved_reason": "already_refunded",
- "relevant_evidence": [
- [
- "proof_of_delivery_or_service",
- "compelling_evidence"
]
], - "evidence_required_by": "2018-08-21T00:00:00Z",
- "received_on": "2018-08-01T04:00:10Z",
- "last_update": "2018-08-04T10:53:13Z",
- "is_ce_candidate": true,
- "payment": {
- "id": "pay_mbabizu24mvu3mela5njyhpit4",
- "action_id": "act_mbabizu24mvu3mela5njyhpit4",
- "processing_channel_id": "pc_q4dbxom5jbgudnjzjpz7j2z6uq",
- "amount": 999,
- "currency": "GBP",
- "reference": "string",
- "method": "Visa",
- "acquirer_reference_number": "AA246873253573571073808",
- "mcc": "5021",
- "3ds": {
- "version": "2.1.0",
- "enrolled": "Y"
}, - "eci": "06",
- "has_refund": true,
- "processed_on": "2018-08-01T08:18:10Z"
}, - "evidence_list": [
- {
- "file": "string",
- "text": "string",
- "type": "proof_of_delivery_or_service",
- "dispute_id": "string"
}
], - "evidence_bundle": [
- {
- "dispute_id": "dsp_rbhwd2qrg13uhrp2newfab",
- "filename": "string",
- "file_size": 0,
- "is_file_oversized": true,
- "created_at": "2019-08-24T14:15:22Z",
- "modified_at": "2019-08-24T14:15:22Z"
}
], - "segment_id": "string",
- "_links": {
- "evidence": {
}
}
}If a dispute is legitimate, you can choose to accept it. This will close it for you and remove it from your list of open disputes. There are no further financial implications.
Dispute accepted successfully
Unauthorized
Dispute not found
// For more information please refer to https://github.com/checkout/checkout-sdk-net //API keys ICheckoutApi api = CheckoutSdk.Builder().StaticKeys() .SecretKey("secret_key") .Environment(Environment.Sandbox) .EnvironmentSubdomain("{prefix}") // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. .HttpClientFactory(new DefaultHttpClientFactory()) .Build(); //OAuth ICheckoutApi api = CheckoutSdk.Builder().OAuth() .ClientCredentials("client_id", "client_secret") .Scopes(OAuthScope.Disputes) .Environment(Environment.Sandbox) .EnvironmentSubdomain("{prefix}") // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. .HttpClientFactory(new DefaultHttpClientFactory()) .Build(); try { EmptyResponse response = await api.DisputesClient().Accept("disputes_id"); } catch (CheckoutApiException e) { // API error string requestId = e.RequestId; var statusCode = e.HttpStatusCode; IDictionary<string, object> errorDetails = e.ErrorDetails; } catch (CheckoutArgumentException e) { // Bad arguments } catch (CheckoutAuthorizationException e) { // Invalid authorization }
Adds supporting evidence to a dispute. Before using this endpoint, you first need to upload your files using the file uploader. You will receive a file id (prefixed by file_) which you can then use in your request. Note that this only attaches the evidence to the dispute, it does not send it to us. Once ready, you will need to submit it. You must provide at least one evidence type in the body of your request.
Dispute evidence provided successfully
Unprocessable
Unauthorized
Dispute not found
Unprocessable entity
{- "proof_of_delivery_or_service_file": "file_jmbfgkjromvcrn9t4qu4",
- "proof_of_delivery_or_service_text": "Description of evidence available at: http://checkout.com/evidenceDocument.pdf",
- "proof_of_delivery_or_service_date_file": "file_jmbfgkjromvcrn9t4qu4",
- "proof_of_delivery_or_service_date_text": "Copy of the customer receipt showing the merchandise was delivered on 2018-12-20",
- "invoice_or_receipt_file": "file_jmbfgkjromvcrn9t4qu4",
- "invoice_or_receipt_text": "Copy of the invoice",
- "invoice_showing_distinct_transactions_file": "file_jmbfgkjromvcrn9t4qu4",
- "invoice_showing_distinct_transactions_text": "Copy of invoice #1244 showing two transactions",
- "customer_communication_file": "file_jmbfgkjromvcrn9t4qu4",
- "customer_communication_text": "Copy of an email exchange with the cardholder",
- "refund_or_cancellation_policy_file": "file_jmbfgkjromvcrn9t4qu4",
- "refund_or_cancellation_policy_text": "Copy of the refund policy",
- "recurring_transaction_agreement_file": "file_jmbfgkjromvcrn9t4qu4",
- "recurring_transaction_agreement_text": "Copy of the recurring transaction agreement",
- "additional_evidence_file": "file_jmbfgkjromvcrn9t4qu4",
- "additional_evidence_text": "Scanned document",
- "arbitration_no_review_files": [
- "file_jmbfgkjromvcrn9t4qu4",
- "file_kmbfgkjromvcrn9t4qu5"
], - "arbitration_no_review_text": "Evidence for arbitration",
- "arbitration_review_required_files": [
- "file_jmbfgkjromvcrn9t4qu4",
- "file_kmbfgkjromvcrn9t4qu5"
], - "arbitration_review_required_text": "Evidence for arbitration",
- "compelling_evidence": {
- "merchandise_or_service": "Merchandise",
- "merchandise_or_service_desc": "Subscription payment",
- "merchandise_or_service_provided_date": "2024-07-25T11:23:06Z",
- "shipping_delivery_status": "shipped",
- "tracking_information": "129481229312",
- "user_id": "user@cko.com",
- "ip_address": "192.168.1.150",
- "device_id": "device_123_x_1220",
- "shipping_address": {
- "address": "string",
- "address2": "string",
- "city": "string",
- "state_region": "st",
- "postal_code": "string",
- "country": "826"
}, - "historical_transactions": [
- {
- "historical_arn": "stringstringstringstri",
- "merchandise_or_service_desc": "string"
}
]
}, - "_links": {
}
}{- "request_id": "string",
- "error_type": "string",
- "error_codes": [
- "string"
]
}Retrieves a list of the evidence submitted in response to a specific dispute.
Dispute evidence retrieved successfully
Unauthorized
Dispute not found
// For more information please refer to https://github.com/checkout/checkout-sdk-net using Checkout.Disputes; //API keys ICheckoutApi api = CheckoutSdk.Builder().StaticKeys() .SecretKey("secret_key") .Environment(Environment.Sandbox) .EnvironmentSubdomain("{prefix}") // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. .HttpClientFactory(new DefaultHttpClientFactory()) .Build(); //OAuth ICheckoutApi api = CheckoutSdk.Builder().OAuth() .ClientCredentials("client_id", "client_secret") .Scopes(OAuthScope.Disputes) .Environment(Environment.Sandbox) .EnvironmentSubdomain("{prefix}") // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. .HttpClientFactory(new DefaultHttpClientFactory()) .Build(); try { DisputeEvidenceResponse response = await api.DisputesClient().GetEvidence("disputes_id"); } catch (CheckoutApiException e) { // API error string requestId = e.RequestId; var statusCode = e.HttpStatusCode; IDictionary<string, object> errorDetails = e.ErrorDetails; } catch (CheckoutArgumentException e) { // Bad arguments } catch (CheckoutAuthorizationException e) { // Invalid authorization }
{- "proof_of_delivery_or_service_file": "file_jmbfgkjromvcrn9t4qu4",
- "proof_of_delivery_or_service_text": "Description of evidence available at: http://checkout.com/evidenceDocument.pdf",
- "proof_of_delivery_or_service_date_file": "file_jmbfgkjromvcrn9t4qu4",
- "proof_of_delivery_or_service_date_text": "Copy of the customer receipt showing the merchandise was delivered on 2018-12-20",
- "invoice_or_receipt_file": "file_jmbfgkjromvcrn9t4qu4",
- "invoice_or_receipt_text": "Copy of the invoice",
- "invoice_showing_distinct_transactions_file": "file_jmbfgkjromvcrn9t4qu4",
- "invoice_showing_distinct_transactions_text": "Copy of invoice #1244 showing two transactions",
- "customer_communication_file": "file_jmbfgkjromvcrn9t4qu4",
- "customer_communication_text": "Copy of an email exchange with the cardholder",
- "refund_or_cancellation_policy_file": "file_jmbfgkjromvcrn9t4qu4",
- "refund_or_cancellation_policy_text": "Copy of the refund policy",
- "recurring_transaction_agreement_file": "file_jmbfgkjromvcrn9t4qu4",
- "recurring_transaction_agreement_text": "Copy of the recurring transaction agreement",
- "additional_evidence_file": "file_jmbfgkjromvcrn9t4qu4",
- "additional_evidence_text": "Scanned document",
- "arbitration_no_review_files": [
- "file_jmbfgkjromvcrn9t4qu4",
- "file_kmbfgkjromvcrn9t4qu5"
], - "arbitration_no_review_text": "Evidence for arbitration",
- "arbitration_review_required_files": [
- "file_jmbfgkjromvcrn9t4qu4",
- "file_kmbfgkjromvcrn9t4qu5"
], - "arbitration_review_required_text": "Evidence for arbitration",
- "compelling_evidence": {
- "merchandise_or_service": "Merchandise",
- "merchandise_or_service_desc": "Subscription payment",
- "merchandise_or_service_provided_date": "2024-07-25T11:23:06Z",
- "shipping_delivery_status": "shipped",
- "tracking_information": "129481229312",
- "user_id": "user@cko.com",
- "ip_address": "192.168.1.150",
- "device_id": "device_123_x_1220",
- "shipping_address": {
- "address": "string",
- "address2": "string",
- "city": "string",
- "state_region": "st",
- "postal_code": "string",
- "country": "826"
}, - "historical_transactions": [
- {
- "historical_arn": "stringstringstringstri",
- "merchandise_or_service_desc": "string"
}
]
}
}With this final request, you can submit the evidence that you have previously provided. Make sure you have provided all the relevant information before using this request. You will not be able to amend your evidence once you have submitted it.
Dispute evidence submitted successfully
Unauthorized
Dispute not found
Unprocessable Entity
// For more information please refer to https://github.com/checkout/checkout-sdk-net //API keys ICheckoutApi api = CheckoutSdk.Builder().StaticKeys() .SecretKey("secret_key") .Environment(Environment.Sandbox) .EnvironmentSubdomain("{prefix}") // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. .HttpClientFactory(new DefaultHttpClientFactory()) .Build(); //OAuth ICheckoutApi api = CheckoutSdk.Builder().OAuth() .ClientCredentials("client_id", "client_secret") .Scopes(OAuthScope.Disputes) .Environment(Environment.Sandbox) .EnvironmentSubdomain("{prefix}") // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. .HttpClientFactory(new DefaultHttpClientFactory()) .Build(); try { EmptyResponse response = await api.DisputesClient().SubmitEvidence("disputes_id"); } catch (CheckoutApiException e) { // API error string requestId = e.RequestId; var statusCode = e.HttpStatusCode; IDictionary<string, object> errorDetails = e.ErrorDetails; } catch (CheckoutArgumentException e) { // Bad arguments } catch (CheckoutAuthorizationException e) { // Invalid authorization }
{- "request_id": "string",
- "error_type": "string",
- "error_codes": [
- "string"
]
}Submits the previously provided arbitration evidence to the scheme.
You cannot amend evidence after you submit with this endpoint. Ensure you have provided all of the required information.
Dispute arbitration evidence submitted successfully
Unauthorized
Dispute not found
Unprocessable Entity
// For more information please refer to https://github.com/checkout/checkout-sdk-net //API keys ICheckoutApi api = CheckoutSdk.Builder().StaticKeys() .SecretKey("secret_key") .Environment(Environment.Sandbox) .EnvironmentSubdomain("{prefix}") // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. .HttpClientFactory(new DefaultHttpClientFactory()) .Build(); //OAuth ICheckoutApi api = CheckoutSdk.Builder().OAuth() .ClientCredentials("client_id", "client_secret") .Scopes(OAuthScope.Disputes) .Environment(Environment.Sandbox) .EnvironmentSubdomain("{prefix}") // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. .HttpClientFactory(new DefaultHttpClientFactory()) .Build(); try { EmptyResponse response = await api.DisputesClient().SubmitArbitrationEvidence("disputes_id"); } catch (CheckoutApiException e) { // API error string requestId = e.RequestId; var statusCode = e.HttpStatusCode; IDictionary<string, object> errorDetails = e.ErrorDetails; } catch (CheckoutArgumentException e) { // Bad arguments } catch (CheckoutAuthorizationException e) { // Invalid authorization }
{- "request_id": "string",
- "error_type": "string",
- "error_codes": [
- "string"
]
}Retrieves the unique identifier of the PDF file containing all of the evidence submitted to escalate the dispute to arbitration.
To retrieve the file's download link, call the GET /files/{file_id} endpoint with the returned file ID.
Dispute retrieved successfully
Forbidden
Resource not found
Internal error
{- "file_id": "file_iweu3nxyt6zund3gwhg7wo4fhq",
- "_links": {
}
}Retrieves the unique identifier of the PDF file containing all the evidence submitted to represent the dispute case.
To retrieve the file's download link, call the GET /files/{file_id} endpoint with the returned file ID.
Evidence submitted before February 2024 cannot be retrieved using this endpoint.
Dispute retrieved successfully
Forbidden
Resource not found
Internal error
{- "file_id": "file_iweu3nxyt6zund3gwhg7wo4fhq",
- "_links": {
}
}Returns all of the scheme files of a dispute using the dispute identifier. Currently available only for VISA disputes.
Dispute retrieved successfully
Unauthorized
Dispute not found
// For more information please refer to https://github.com/checkout/checkout-sdk-go import ( "github.com/checkout/checkout-sdk-go" "github.com/checkout/checkout-sdk-go/configuration" ) // API Keys api, err := checkout. Builder(). StaticKeys(). WithSecretKey("secret_key"). WithEnvironment(configuration.Sandbox()). // or Environment.PRODUCTION WithEnvironmentSubdomain("{prefix}"). // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. Build() if err != nil { return nil, err } // OAuth api, err := checkout. Builder(). OAuth(). WithClientCredentials("client_id", "client_secret"). WithScopes([]string{configuration.Disputes}). WithEnvironment(configuration.Sandbox()). // or Environment.PRODUCTION WithEnvironmentSubdomain("{prefix}"). // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. Build() if err != nil { return nil, err } response, err := api.Disputes.GetDisputeSchemeFiles("dispute_id") if err != nil { return nil, err } return response, nil
{- "id": "dsp_rbhwd2qrg13uhrp2newfab",
- "files": [
- {
- "dispute_status": "dispute_lost",
- "file": "file_6lbss42ezvoufcb2beo76rvwly"
}
], - "_links": {
}
}Upload a file to use as evidence in a dispute. Your file must be in either JPEG/JPG, PNG or PDF format, and be no larger than 4MB.
File uploaded successfully
Unauthorized
Unprocessable
Too many requests
// For more information please refer to https://github.com/checkout/checkout-sdk-net using Checkout.Common; //API keys ICheckoutApi api = CheckoutSdk.Builder().StaticKeys() .SecretKey("secret_key") .Environment(Environment.Sandbox) .EnvironmentSubdomain("{prefix}") // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. .HttpClientFactory(new DefaultHttpClientFactory()) .Build(); //OAuth ICheckoutApi api = CheckoutSdk.Builder().OAuth() .ClientCredentials("client_id", "client_secret") .Scopes(OAuthScope.Disputes) .Environment(Environment.Sandbox) .EnvironmentSubdomain("{prefix}") // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. .HttpClientFactory(new DefaultHttpClientFactory()) .Build(); try { IdResponse response = await api.DisputesClient().SubmitFile("file_path", "dispute_evidence"); } catch (CheckoutApiException e) { // API error string requestId = e.RequestId; var statusCode = e.HttpStatusCode; IDictionary<string, object> errorDetails = e.ErrorDetails; } catch (CheckoutArgumentException e) { // Bad arguments } catch (CheckoutAuthorizationException e) { // Invalid authorization }
{- "id": "file_6lbss42ezvoufcb2beo76rvwly",
- "_links": {
}
}Retrieve information about a file that was previously uploaded.
File information retrieved successfully
Unauthorized
File not found
Too many requests or duplicate request detected
// For more information please refer to https://github.com/checkout/checkout-sdk-net using Checkout.Files; //API keys ICheckoutApi api = CheckoutSdk.Builder().StaticKeys() .SecretKey("secret_key") .Environment(Environment.Sandbox) .EnvironmentSubdomain("{prefix}") // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. .HttpClientFactory(new DefaultHttpClientFactory()) .Build(); //OAuth ICheckoutApi api = CheckoutSdk.Builder().OAuth() .ClientCredentials("client_id", "client_secret") .Scopes(OAuthScope.Disputes) .Environment(Environment.Sandbox) .EnvironmentSubdomain("{prefix}") // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. .HttpClientFactory(new DefaultHttpClientFactory()) .Build(); try { FileDetailsResponse response = await api.DisputesClient().GetFileDetails("file_id"); } catch (CheckoutApiException e) { // API error string requestId = e.RequestId; var statusCode = e.HttpStatusCode; IDictionary<string, object> errorDetails = e.ErrorDetails; } catch (CheckoutArgumentException e) { // Bad arguments } catch (CheckoutAuthorizationException e) { // Invalid authorization }
{- "id": "file_6lbss42ezvoufcb2beo76rvwly",
- "filename": "receipt.jpg",
- "purpose": "dispute_evidence",
- "size": 1024,
- "uploaded_on": "2019-05-17T16:48:52Z",
}