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.
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.example.gr4vy.app/transactions" \
-H "Authorization: Bearer [JWT_TOKEN]" \
-H "Content-Type: application/json" \
-d '{
"amount": 1299,
"currency": "AUD",
"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.example.gr4vy.app/transactions" \
-H "Authorization: Bearer [JWT_TOKEN]" \
-H "Content-Type: application/json" \
-d '{
"amount": 1299,
"currency": "AUD",
"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.example.gr4vy.app/transactions/fe26475d-ec3e-4884-9553-f7356683f7f9/capture \
-H "Authorization: Bearer [JWT_TOKEN]"