Swift Stripe: Update a Dispute

Back to Index

Submit evidence for a dispute with the given ID.

Documentation: https://stripe.com/docs/api/curl#update_dispute

CURL Command

curl -X POST https://api.stripe.com/v1/disputes/dp_1BnETJGswQrCoh0Xefx4zP2a \
   -u STRIPE_SECRET_KEY: \
   -d evidence[customer_name]="Isabella Williams" \
   -d evidence[product_description]="Comfortable cotton t-shirt" \
   -d evidence[shipping_documentation]=file_1BnEEuGswQrCoh0XqB3XkqAg

Swift Example


func chilkatTest() {
    let rest = CkoRest()
    var success: Bool

    //  URL: https://api.stripe.com/v1/disputes/dp_1BnETJGswQrCoh0Xefx4zP2a
    var bTls: Bool = true
    var port: Int = 443
    var bAutoReconnect: Bool = true
    success = rest.Connect("api.stripe.com", port: port, tls: bTls, autoReconnect: bAutoReconnect)
    if success != true {
        print("ConnectFailReason: \(rest.ConnectFailReason.integerValue)")
        print("\(rest.LastErrorText)")
        return
    }

    rest.SetAuthBasic("STRIPE_SECRET_KEY", password: "")

    rest.AddQueryParam("evidence[customer_name]", value: "Isabella Williams")
    rest.AddQueryParam("evidence[product_description]", value: "Comfortable cotton t-shirt")
    rest.AddQueryParam("evidence[shipping_documentation]", value: "file_1BnEEuGswQrCoh0XqB3XkqAg")

    var strResponseBody: String? = rest.FullRequestFormUrlEncoded("POST", uriPath: "/v1/disputes/dp_1BnETJGswQrCoh0Xefx4zP2a")
    if rest.LastMethodSuccess != true {
        print("\(rest.LastErrorText)")
        return
    }

    let jsonResponse = CkoJsonObject()
    jsonResponse.Load(strResponseBody)

    var id: String?
    var object: String?
    var amount: Int
    var balance_transaction: String?
    var charge: String?
    var created: Int
    var currency: String?
    var evidenceProduct_description: String?
    var evidenceCustomer_name: String?
    var evidenceCustomer_email_address: Bool
    var evidenceBilling_address: Bool
    var evidenceCustomer_purchase_ip: Bool
    var evidenceShipping_address: Bool
    var evidenceShipping_date: Bool
    var evidenceShipping_carrier: Bool
    var evidenceShipping_tracking_number: Bool
    var evidenceService_date: Bool
    var evidenceAccess_activity_log: Bool
    var evidenceDuplicate_charge_id: Bool
    var evidenceDuplicate_charge_explanation: Bool
    var evidenceRefund_policy_disclosure: Bool
    var evidenceRefund_refusal_explanation: Bool
    var evidenceCancellation_policy_disclosure: Bool
    var evidenceCancellation_rebuttal: Bool
    var evidenceUncategorized_text: Bool
    var evidenceCustomer_signature: Bool
    var evidenceReceipt: Bool
    var evidenceShipping_documentation: String?
    var evidenceService_documentation: Bool
    var evidenceDuplicate_charge_documentation: Bool
    var evidenceRefund_policy: Bool
    var evidenceCancellation_policy: Bool
    var evidenceCustomer_communication: Bool
    var evidenceUncategorized_file: Bool
    var evidence_detailsDue_by: Int
    var evidence_detailsHas_evidence: Bool
    var evidence_detailsPast_due: Bool
    var evidence_detailsSubmission_count: Int
    var is_charge_refundable: Bool
    var livemode: Bool
    var reason: String?
    var status: String?
    var i: Int
    var count_i: Int

    id = jsonResponse.StringOf("id")
    object = jsonResponse.StringOf("object")
    amount = jsonResponse.IntOf("amount").integerValue
    balance_transaction = jsonResponse.StringOf("balance_transaction")
    charge = jsonResponse.StringOf("charge")
    created = jsonResponse.IntOf("created").integerValue
    currency = jsonResponse.StringOf("currency")
    evidenceProduct_description = jsonResponse.StringOf("evidence.product_description")
    evidenceCustomer_name = jsonResponse.StringOf("evidence.customer_name")
    evidenceCustomer_email_address = jsonResponse.IsNullOf("evidence.customer_email_address")
    evidenceBilling_address = jsonResponse.IsNullOf("evidence.billing_address")
    evidenceCustomer_purchase_ip = jsonResponse.IsNullOf("evidence.customer_purchase_ip")
    evidenceShipping_address = jsonResponse.IsNullOf("evidence.shipping_address")
    evidenceShipping_date = jsonResponse.IsNullOf("evidence.shipping_date")
    evidenceShipping_carrier = jsonResponse.IsNullOf("evidence.shipping_carrier")
    evidenceShipping_tracking_number = jsonResponse.IsNullOf("evidence.shipping_tracking_number")
    evidenceService_date = jsonResponse.IsNullOf("evidence.service_date")
    evidenceAccess_activity_log = jsonResponse.IsNullOf("evidence.access_activity_log")
    evidenceDuplicate_charge_id = jsonResponse.IsNullOf("evidence.duplicate_charge_id")
    evidenceDuplicate_charge_explanation = jsonResponse.IsNullOf("evidence.duplicate_charge_explanation")
    evidenceRefund_policy_disclosure = jsonResponse.IsNullOf("evidence.refund_policy_disclosure")
    evidenceRefund_refusal_explanation = jsonResponse.IsNullOf("evidence.refund_refusal_explanation")
    evidenceCancellation_policy_disclosure = jsonResponse.IsNullOf("evidence.cancellation_policy_disclosure")
    evidenceCancellation_rebuttal = jsonResponse.IsNullOf("evidence.cancellation_rebuttal")
    evidenceUncategorized_text = jsonResponse.IsNullOf("evidence.uncategorized_text")
    evidenceCustomer_signature = jsonResponse.IsNullOf("evidence.customer_signature")
    evidenceReceipt = jsonResponse.IsNullOf("evidence.receipt")
    evidenceShipping_documentation = jsonResponse.StringOf("evidence.shipping_documentation")
    evidenceService_documentation = jsonResponse.IsNullOf("evidence.service_documentation")
    evidenceDuplicate_charge_documentation = jsonResponse.IsNullOf("evidence.duplicate_charge_documentation")
    evidenceRefund_policy = jsonResponse.IsNullOf("evidence.refund_policy")
    evidenceCancellation_policy = jsonResponse.IsNullOf("evidence.cancellation_policy")
    evidenceCustomer_communication = jsonResponse.IsNullOf("evidence.customer_communication")
    evidenceUncategorized_file = jsonResponse.IsNullOf("evidence.uncategorized_file")
    evidence_detailsDue_by = jsonResponse.IntOf("evidence_details.due_by").integerValue
    evidence_detailsHas_evidence = jsonResponse.BoolOf("evidence_details.has_evidence")
    evidence_detailsPast_due = jsonResponse.BoolOf("evidence_details.past_due")
    evidence_detailsSubmission_count = jsonResponse.IntOf("evidence_details.submission_count").integerValue
    is_charge_refundable = jsonResponse.BoolOf("is_charge_refundable")
    livemode = jsonResponse.BoolOf("livemode")
    reason = jsonResponse.StringOf("reason")
    status = jsonResponse.StringOf("status")
    i = 0
    count_i = jsonResponse.SizeOfArray("balance_transactions").integerValue
    while i < count_i {
        jsonResponse.I = i
        i = i + 1
    }


}

Sample JSON Response Body

{
  "id": "dp_1BnETJGswQrCoh0Xefx4zP2a",
  "object": "dispute",
  "amount": 1000,
  "balance_transaction": "txn_1BnETJGswQrCoh0XPNBs9uW2",
  "balance_transactions": [
  ],
  "charge": "ch_1BnETJGswQrCoh0XlANDK278",
  "created": 1516662781,
  "currency": "usd",
  "evidence": {
    "product_description": "Comfortable cotton t-shirt",
    "customer_name": "Isabella Williams",
    "customer_email_address": null,
    "billing_address": null,
    "customer_purchase_ip": null,
    "shipping_address": null,
    "shipping_date": null,
    "shipping_carrier": null,
    "shipping_tracking_number": null,
    "service_date": null,
    "access_activity_log": null,
    "duplicate_charge_id": null,
    "duplicate_charge_explanation": null,
    "refund_policy_disclosure": null,
    "refund_refusal_explanation": null,
    "cancellation_policy_disclosure": null,
    "cancellation_rebuttal": null,
    "uncategorized_text": null,
    "customer_signature": null,
    "receipt": null,
    "shipping_documentation": "file_1BnEEuGswQrCoh0XqB3XkqAg",
    "service_documentation": null,
    "duplicate_charge_documentation": null,
    "refund_policy": null,
    "cancellation_policy": null,
    "customer_communication": null,
    "uncategorized_file": null
  },
  "evidence_details": {
    "due_by": 1518307199,
    "has_evidence": false,
    "past_due": false,
    "submission_count": 0
  },
  "is_charge_refundable": false,
  "livemode": false,
  "metadata": {},
  "reason": "general",
  "status": "needs_response"
}