Refreshing the payment source
How to refresh the Stripe payment status
Problem
You have created a payment source for Stripe, which is still pending. You want to refresh its status to check if it gets authorized.
Solution
Stripe payments are asynchronous. That means that once a Stripe payment is created, it remains pending until the Stripe webhook updates it. If you want to update the status of the Stripe payment independently, send a PATCH request to the /api/stripe_payments/:id endpoint, setting the _refresh attribute to true.
Example
The following request updates the Stripe payment source identified by the "eqRZMSaNqM " ID to refresh its status:
curl -g -X PATCH \
  'http://yourdomain.commercelayer.io/api/stripe_payments/eqRZMSaNqM' \
  -H 'Accept: application/vnd.api+json' \
  -H 'Authorization: Bearer your-access-token' \
  -H 'Content-Type: application/vnd.api+json' \
  -d '{
  "data": {
    "type": "stripe_payments",
    "id": "eqRZMSaNqM",
    "attributes": {
      "_refresh": true
    }
  }
}'On success, the API responds with a 200 OK status code, returning the updated Stripe payment object:
{
  "data": {
    "id": "eqRZMSaNqM",
    "type": "stripe_payments",
    "links": {
      "self": "https://yourdomain.commercelayer.io/api/stripe_payments/eqRZMSaNqM"
    },
    "attributes": {
      "client_secret": "xxxx_secret_yyyy",
      "publishable_key": "xxxx_secret_yyyy",
      "options": {
        "id": "pm_1IixtoEw0yMev2I0jGzoT9Js",
        "setup_future_usage": "off_session"
      },
      "payment_method": {
        "id": "pm_1IixtoEw0yMev2I0jGzoT9Js",
        "card": {
          "brand": "visa",
          "last4": "1111",
          "checks": {
            "cvc_check": "pass",
            "address_line1_check": "pass",
            "address_postal_code_check": "pass"
          }
          ...
        }
      },
      "payment_instrument":{...},
      "created_at": "2018-01-01T12:00:00.000Z",
      "updated_at": "2018-01-01T12:00:00.000Z",
      "reference": null,
      "reference_origin": null,
      "metadata": {}
    },
    "relationships": {
      "order": {
        "links": {...}
      }
    },
    "meta": {
      "mode": "test"
    }
  }
}More to read
See our documentation if you need more information on how to update a Stripe payment.
Last updated

