Version: 1.1.0

Create a card transaction

A card transaction can be created by calling the POST /transactions API. The call requires an amount, currency, and a payment_method for the card.

note

Check out our guides to learn more about payment methods and the ability to tie a payment method to a buyer.

curl -i -X POST "https://api.{gr4vyId}.gr4vy.app/transactions" \
-H "Authorization: Bearer [JWT_TOKEN]" \
-H "Content-Type: application/json" \
-d '{
"amount": 1299,
"currency": "USD",
"payment_method": {
"method": "card",
"number": "4111111111111111",
"expiration_date": "11/25",
"security_code": "123"
}
}'

This API will return the authorized transaction. The status of this transaction can vary for a few reasons including the status provided by the payment service, as well as the requested intent.

Statuses

See our guide on transaction statuses for more details.

Capture#

By default a card transaction is only authorized and not automatically captured. A transaction can be captured either directly when creating a transaction, or as a separate API call.

Simultaneous authorize and capture#

To capture a transaction immediately, set the intent to capture.

curl -i -X POST "https://api.{gr4vyId}.gr4vy.app/transactions" \
-H "Authorization: Bearer [JWT_TOKEN]" \
-H "Content-Type: application/json" \
-d '{
"amount": 1299,
"currency": "USD",
"intent": "capture",
"payment_method": {
"method": "card",
"number": "4111111111111111",
"expiration_date": "11/25",
"security_code": "123"
}
}'

Capture after authorization#

Alternatively, it is possible to perform a capture on a previously authorized transaction by calling the POST /transactions/{transaction_id}/capture API.

curl -i -X POST "https://api.{gr4vyId}.gr4vy.app/transactions/fe26475d-ec3e-4884-9553-f7356683f7f9/capture \
-H "Authorization: Bearer [JWT_TOKEN]"