Links

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.
This request will try to refresh the Stripe payment and can be used as a fallback strategy in case the Stripe webhook isn't fired.

Example

Request
Response
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.