/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

idempotencyKey

Guid

Required

Generate a GUID

orderId

Guid

Required

Value returned by /evaluate.

amount

int

Required

The amount to capture from the order. In cents

currency

string

Required

The 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 Code

200

Response Body

SUCCESS

|

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": {}
}