/capture

This API allows you to CAPTURE an order in capturerequired status.



❗️

Prerequisites to invoke this API:

  • Authenticate and send the bearer token for this call.
  • If you do not capture the capturerequired order, it will void after a preconfigured amount of time.


Workflow

According to your configuration, a call to /evaluate or /orders can return the status CAPTURE REQUIRED.

In that scenario, you will need to invoke /capture, and then update the definitive status with /orders.

Capture workflow

Capture workflow


Request

Details

HTTP Method

POST

Endpoint

- Sandbox

<https://api-sandbox.flex-charge.com/v1/capture>

Endpoint

- Production

https://api.flex-charge.com/v1/capture

Authentication

Bearer Token

Body

idempotencyKeyGuidRequiredGenerate a GUID
orderIdGuidRequiredValue returned by /evaluate.
amountintRequiredThe amount to capture from the order. In cents
currencystringRequiredThe ISO 4217 currency code for the transaction.



Response

After receiving a response from /capture, you need to update this order in your CRM with the corresponding status.

Status Code200
Response BodySUCCESS | FAILED

status

string

success / fail

success

boolean

Indicates if the API request was successful

result

string

The result of the API request Optional

statusCode

string

The status code of the API request Optional

errors

array of string

Any errors encountered during the API request Optional

customProperties

object

Additional custom properties for the API request Optional


Payload examples

Request

curl --request POST \
    --url https://api-sandbox.flex-charge.com/v1/capture	
		--header 'Authorization: Bearer {bearer_token_returned_by_oauth2}' \	//replace with bearer returned by /oauth2
    --header 'accept: application/json' \
    --header 'content-type: application/*+json' \
    --data '
{
	"idempotencyKey": "{generate_a_GUID}",
  "orderId": "{same_orderId_returned_by_/evaluate_for_that_order}",
  "amount": 10000,
  "currency": "USD"
}

Response


HTTP/1.1 200 OK
Content-Type: application/json

{
   "status": "SUCCESS | FAILED",
   "success": true,
   "result": null,
   "statusCode": null,
   "errors": [],
   "customProperties": {}
}