code: import stripe
  stripe.api_key = "sk_test_your_key"
  
  stripe.Charge.modify(
    "ch_3LSdsa2eZvKYlo2C1pk5D2K6",
    metadata={"order_id": "6735"},
  )
  '''Response {
    "id": "ch_3LSdsa2eZvKYlo2C1pk5D2K6",
    "object": "charge",
    "amount": 100,
    "amount_captured": 0,
    "amount_refunded": 0,
    "application": null,
    "application_fee": null,
    "application_fee_amount": null,
    "balance_transaction": "txn_1032HU2eZvKYlo2CEPtcnUvl",
    "billing_details": {
      "address": {
        "city": null,
        "country": null,
        "line1": null,
        "line2": null,
        "postal_code": null,
        "state": null
      },
      "email": null,
      "name": null,
      "phone": null
    },
    "calculated_statement_descriptor": null,
    "captured": false,
    "created": 1659518920,
    "currency": "usd",
    "customer": null,
    "description": "My First Test Charge (created for API docs)",
    "disputed": false,
    "failure_balance_transaction": null,
    "failure_code": null,
    "failure_message": null,
    "fraud_details": {},
    "invoice": null,
    "livemode": false,
    "metadata": {
      "order_id": "6735"
    },
    "on_behalf_of": null,
    "outcome": null,
    "paid": true,
    "payment_intent": null,
    "payment_method": "card_1LSdsU2eZvKYlo2C1BKhCSWF",
    "payment_method_details": {
      "card": {
        "brand": "visa",
        "checks": {
          "address_line1_check": null,
          "address_postal_code_check": null,
          "cvc_check": "pass"
        },
        "country": "US",
        "exp_month": 8,
        "exp_year": 2023,
        "fingerprint": "Xt5EWLLDS7FJjR1c",
        "funding": "credit",
        "installments": null,
        "last4": "4242",
        "mandate": null,
        "moto": null,
        "network": "visa",
        "three_d_secure": null,
        "wallet": null
      },
      "type": "card"
    },
    "receipt_email": null,
    "receipt_number": null,
    "receipt_url": "https://pay.stripe.com/receipts/acct_1032D82eZvKYlo2C/ch_3LSdsa2eZvKYlo2C1pk5D2K6/rcpt_MAzsX8H9XHu2XoHLHOqQ1d3gDS78hzU",
    "redaction": null,
    "refunded": false,
    "refunds": {
      "object": "list",
      "data": [],
      "has_more": false,
      "url": "/v1/charges/ch_3LSdsa2eZvKYlo2C1pk5D2K6/refunds"
    },
    "review": null,
    "shipping": null,
    "source_transfer": null,
    "statement_descriptor": null,
    "statement_descriptor_suffix": null,
    "status": "succeeded",
    "transfer_data": null,
    "transfer_group": null
  }'''
nl: Update a chargeUpdates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged.Parameters customer optional The ID of an existing customer that will be associated with this request. This field may only be updated if there is no existing associated customer with this charge. description optional An arbitrary string which you can attach to a charge object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the description of the charge(s) that they are describing. metadata optional dictionary Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata. receipt_email optional This is the email address that the receipt for this charge will be sent to. If this field is updated, then a new email receipt will be sent to the updated address. shipping optional dictionary Shipping information for the charge. Helps prevent fraud on charges for physical goods.Show child parametersMore parametersExpand all  fraud_details optional dictionary   transfer_group optional Connect only ReturnsReturns the charge object if the update succeeded. This call will raise an error if update parameters are invalid