Swift Stripe: Update a Payout

Back to Index

Updates the specified payout by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts only the metadata as arguments.

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

CURL Command

curl -X POST https://api.stripe.com/v1/payouts/po_1BnETKGswQrCoh0XeUopRyDR \
   -u STRIPE_SECRET_KEY: \
   -d metadata[order_id]=6735

Swift Example


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

    //  URL: https://api.stripe.com/v1/payouts/po_1BnETKGswQrCoh0XeUopRyDR
    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("metadata[order_id]", value: "6735")

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

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

    var id: String?
    var object: String?
    var amount: Int
    var arrival_date: Int
    var automatic: Bool
    var balance_transaction: String?
    var created: Int
    var currency: String?
    var description: String?
    var destination: String?
    var failure_balance_transaction: Bool
    var failure_code: Bool
    var failure_message: Bool
    var livemode: Bool
    var method: String?
    var source_type: String?
    var statement_descriptor: Bool
    var status: String?
    var type: String?

    id = jsonResponse.StringOf("id")
    object = jsonResponse.StringOf("object")
    amount = jsonResponse.IntOf("amount").integerValue
    arrival_date = jsonResponse.IntOf("arrival_date").integerValue
    automatic = jsonResponse.BoolOf("automatic")
    balance_transaction = jsonResponse.StringOf("balance_transaction")
    created = jsonResponse.IntOf("created").integerValue
    currency = jsonResponse.StringOf("currency")
    description = jsonResponse.StringOf("description")
    destination = jsonResponse.StringOf("destination")
    failure_balance_transaction = jsonResponse.IsNullOf("failure_balance_transaction")
    failure_code = jsonResponse.IsNullOf("failure_code")
    failure_message = jsonResponse.IsNullOf("failure_message")
    livemode = jsonResponse.BoolOf("livemode")
    method = jsonResponse.StringOf("method")
    source_type = jsonResponse.StringOf("source_type")
    statement_descriptor = jsonResponse.IsNullOf("statement_descriptor")
    status = jsonResponse.StringOf("status")
    type = jsonResponse.StringOf("type")

}

Sample JSON Response Body

{
  "id": "po_1BnETKGswQrCoh0XeUopRyDR",
  "object": "payout",
  "amount": 1100,
  "arrival_date": 1516662782,
  "automatic": true,
  "balance_transaction": "txn_1BnETKGswQrCoh0X762wrMpF",
  "created": 1516662782,
  "currency": "usd",
  "description": "STRIPE TRANSFER",
  "destination": "ba_1BnETKGswQrCoh0XO5G2kEG5",
  "failure_balance_transaction": null,
  "failure_code": null,
  "failure_message": null,
  "livemode": false,
  "metadata": {},
  "method": "standard",
  "source_type": "card",
  "statement_descriptor": null,
  "status": "in_transit",
  "type": "bank_account"
}