GET

/transactions/{transaction_id}

curl --request GET \
  --url https://api.sandbox.{gr4vy_id}.gr4vy.app/transactions/{transaction_id} \
  --header 'Authorization: <authorization>'
{
  "amount": "1299",
  "auth_response_code": "00",
  "authorized_at": "2013-07-16T19:23:00.000+00:00",
  "avs_response_code": "partial_match_address",
  "buyer": {
    "billing_details": {
      "address": {
        "city": "London",
        "country": "GB",
        "house_number_or_name": "10",
        "line1": "10 Oxford Street",
        "line2": "New Oxford Court",
        "organization": "Gr4vy",
        "postal_code": "789123",
        "state": "Greater London",
        "state_code": "GB-LND"
      },
      "email_address": "john@example.com",
      "first_name": "John",
      "last_name": "Lunn",
      "phone_number": "+1234567890",
      "tax_id": {
        "kind": "gb.vat",
        "value": "12345678931"
      },
      "type": "billing-details"
    },
    "display_name": "John L.",
    "external_identifier": "user-789123",
    "id": "fe26475d-ec3e-4884-9553-f7356683f7f9",
    "type": "buyer"
  },
  "captured_amount": "999",
  "captured_at": "2013-07-16T19:23:00.000+00:00",
  "cart_items": [
    {
      "categories": [
        "string"
      ],
      "discount_amount": "0",
      "external_identifier": "item-789123",
      "image_url": "https://example.com/images/items/gopro.png",
      "name": "GoPro HERO9 Camcorder",
      "product_type": "physical",
      "product_url": "https://example.com/items/gopro",
      "quantity": "1",
      "sku": "sku-789123",
      "tax_amount": "0",
      "unit_amount": "37999"
    }
  ],
  "checkout_session_id": "fe26475d-ec3e-4884-9553-f7356683f7f9",
  "country": "US",
  "created_at": "2013-07-16T19:23:00.000+00:00",
  "currency": "USD",
  "cvv_response_code": "match",
  "external_identifier": "user-789123",
  "id": "fe26475d-ec3e-4884-9553-f7356683f7f9",
  "intent": "authorize",
  "is_subsequent_payment": true,
  "merchant_account_id": "default",
  "merchant_initiated": true,
  "metadata": {
    "key": "value"
  },
  "method": "card",
  "payment_method": {
    "approval_target": "any",
    "approval_url": "https://api.example.app.gr4vy.com/payment-methods/ffc88ec9-e1ee-45ba-993d-b5902c3b2a8c/approve",
    "country": "US",
    "currency": "USD",
    "details": {
      "bin": "412345",
      "card_type": "credit"
    },
    "expiration_date": "11/25",
    "external_identifier": "user-789123",
    "id": "77a76f7e-d2de-4bbc-ada9-d6a0015e6bd5",
    "label": "1111",
    "method": "card",
    "scheme": "visa",
    "type": "payment-method"
  },
  "payment_service": {
    "display_name": "Stripe (Main)",
    "id": "stripe-card-faaad066-30b4-4997-a438-242b0752d7e1",
    "method": "card",
    "payment_service_definition_id": "stripe-card",
    "type": "payment-service"
  },
  "payment_service_transaction_id": "charge_xYqd43gySMtori",
  "payment_source": "ecommerce",
  "pending_review": true,
  "raw_response_code": "incorrect-zip",
  "raw_response_description": "The card's postal code is incorrect. Check the card's postal code or use a\ndifferent card.",
  "reconciliation_id": "7jZXl4gBUNl0CnaLEnfXbt",
  "refunded_amount": "100",
  "scheme_transaction_id": "123456789012345",
  "shipping_details": {
    "address": {
      "city": "London",
      "country": "GB",
      "house_number_or_name": "10",
      "line1": "10 Oxford Street",
      "line2": "New Oxford Court",
      "organization": "Gr4vy",
      "postal_code": "789123",
      "state": "Greater London",
      "state_code": "GB-LND"
    },
    "buyer_id": "8724fd24-5489-4a5d-90fd-0604df7d3b83",
    "email_address": "john@example.com",
    "first_name": "John",
    "id": "8724fd24-5489-4a5d-90fd-0604df7d3b83",
    "last_name": "Lunn",
    "phone_number": "+1234567890",
    "type": "shipping-details"
  },
  "statement_descriptor": {
    "city": "London",
    "description": "Card payment",
    "name": "GR4VY",
    "phone_number": "+1234567890",
    "url": "www.gr4vy.com"
  },
  "status": "processing",
  "three_d_secure": {
    "error_data": {
      "code": "305",
      "component": "C",
      "description": "Invalid ThreeDSCompInd",
      "detail": "The threeDSCompInd must be 'Y' when successful"
    },
    "method": "challenge",
    "response_data": "object",
    "status": "setup_error",
    "version": "2.1.0"
  },
  "type": "transaction",
  "updated_at": "string",
  "voided_at": "2013-07-16T19:23:00.000+00:00"
}

This endpoint requires the transactions.read scope.

Authorizations

Authorizationheaderrequired
string

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

transaction_idrequired
string

The ID for the transaction to get the information for.

Response

200 - application/json
amount
integer

The authorized amount for this transaction. This can be more than the actual captured amount and part of this amount may be refunded.

auth_response_code
string | null

This is the response description received from the processor.

authorized_at
string | null

The date and time when this transaction was authorized in the payment service.

Don't use this field to determine whether the transaction was authorized. A null value doesn't necessarily imply that the transaction wasn't authorized, it can mean that the payment service doesn't provide this value, that it didn't provide it at the time the transaction was authorized or that the transaction was authorized before the introduction of this field.

avs_response_code
enum<string> | null

The response code received from the payment service for the Address Verification Check (AVS). This code is mapped to a standardized Gr4vy AVS response code.

  • no_match - neither address or postal code match
  • match - both address and postal code match
  • partial_match_address - address matches but postal code does not
  • partial_match_postcode - postal code matches but address does not
  • unavailable - AVS is unavailable for card/country

The value of this field can be null if the payment service did not provide a response.

Available options:
no_match,
match,
partial_match_address,
partial_match_postcode,
unavailable
buyer
object

The buyer used for this transaction.

captured_amount
integer

The captured amount for this transaction. This can be the total or a portion of the authorized amount.

captured_at
string | null

The date and time when this transaction was captured in the payment service.

Don't use this field to determine whether the transaction was captured. A null value doesn't necessarily imply that the transaction wasn't captured, it can mean that the payment service doesn't provide this value, that it didn't provide it at the time the transaction was captured or that the transaction was captured before the introduction of this field.

cart_items
object[]

An array of cart items that represents the line items of a transaction.

checkout_session_id
string

The identifier for the checkout session this transaction is associated with.

country
string | null

The 2-letter ISO code of the country of the transaction. This is used to filter the payment services that is used to process the transaction.

created_at
string

The date and time when this transaction was created in our system.

currency
string

The currency code for this transaction.

cvv_response_code
enum<string> | null

The response code received from the payment service for the Card Verification Value (CVV). This code is mapped to a standardized Gr4vy CVV response code.

  • no_match - the CVV does not match the expected value
  • match - the CVV matches the expected value
  • unavailable - CVV check unavailable for card our country
  • not_provided - CVV not provided

The value of this field can be null if the payment service did not provide a response.

Available options:
no_match,
match,
unavailable,
not_provided
external_identifier
string | null

An external identifier that can be used to match the transaction against your own records.

id
string

The unique identifier for this transaction.

intent
enum<string>

The original intent used when the transaction was created.

Available options:
authorize,
capture
is_subsequent_payment
Default: false
boolean

Indicates whether the transaction represents a subsequent payment coming from a setup recurring payment. Please note there are some restrictions on how this flag may be used.

The flag can only be false (or not set) when the transaction meets one of the following criteria:

  • It is not merchant_initiated.
  • payment_source is set to card_on_file.

The flag can only be set to true when the transaction meets one of the following criteria:

  • It is not merchant_initiated.
  • payment_source is set to recurring or installment and merchant_initiated is set to true.
  • payment_source is set to card_on_file.
merchant_account_id
string

The ID of the merchant account to which this transaction belongs to.

merchant_initiated
Default: false
boolean

Indicates whether the transaction was initiated by the merchant (true) or customer (false).

metadata
object

Additional information about the transaction stored as key-value pairs.

method
enum<string>
Available options:
afterpay,
alipay,
alipayhk,
applepay,
bacs,
bancontact,
banked,
becs,
bitpay,
boleto,
boost,
card,
checkout-session,
click-to-pay,
clearpay,
dana,
dcb,
eps,
fortumo,
gcash,
giropay,
gocardless,
googlepay,
gopay,
grabpay,
ideal,
id,
kakaopay,
klarna,
laybuy,
linepay,
linkaja,
maybankqrpay,
multibanco,
oney_3x,
oney_4x,
oney_6x,
oney_10x,
oney_12x,
ovo,
oxxo,
paymaya,
paypal,
paypalpaylater,
pix,
rabbitlinepay,
razorpay,
scalapay,
sepa,
shopeepay,
singteldash,
sofort,
stripedd,
thaiqr,
touchngo,
truemoney,
trustly,
venmo,
waave,
wechat,
zippay
payment_method
object

The payment method used for this transaction.

payment_service
object

The payment service used for this transaction.

payment_service_transaction_id
string

The payment service's unique ID for the transaction.

payment_source
enum<string>

The source of the transaction. Defaults to ecommerce.

Available options:
ecommerce,
moto,
recurring,
installment,
card_on_file
pending_review
boolean

Whether a manual review is pending.

raw_response_code
string | null

This is the response code received from the payment service. This can be set to any value and is not standardized across different payment services.

raw_response_description
string | null

This is the response description received from the payment service. This can be set to any value and is not standardized across different payment services.

reconciliation_id
string

The base62 encoded transaction ID. This represents a shorter version of this transaction's id which is sent to payment services, anti-fraud services, and other connectors. You can use this ID to reconcile a payment service's transaction against our system.

This ID is sent instead of the transaction ID because not all services support 36 digit identifiers.

refunded_amount
integer

The refunded amount for this transaction. This can be the total or a portion of the captured amount.

scheme_transaction_id
string | null

An identifier for the transaction used by the scheme itself, when available.

e.g. the Visa Transaction Identifier, or Mastercard Trace ID.

shipping_details
object

The shipping details associated with the transaction.

statement_descriptor
object

The statement descriptor is the text to be shown on the buyer's statements.

The specific usage of these fields will depend on the capabilities of the underlying PSP and bank. As a typical example, 'name' and 'description' could be concatenated using '* ' as a separator, and then the resulting descriptor would be truncated to 22 characters by the issuing bank.

status
enum<string>

The status of the transaction. The status may change over time as asynchronous processing events occur.

Please note that the possible statuses returned will depend on the operation performed. For example, a captured transaction will never move to a authorization_voided status.

Available options:
processing,
buyer_approval_pending,
authorization_succeeded,
authorization_failed,
authorization_declined,
capture_pending,
capture_succeeded,
authorization_void_pending,
authorization_voided
three_d_secure
object

The 3-D Secure data that was sent to the payment service for the transaction.

type
enum<string>

The type of this resource. Is always transaction.

Available options:
transaction
updated_at
string

Defines when the transaction was last updated.

voided_at
string | null

The date and time when this transaction was voided in the payment service.

Don't use this field to determine whether the transaction was voided. A null value doesn't necessarily imply that the transaction wasn't voided, it can mean that the payment service doesn't provide this value, that it didn't provide it at the time the transaction was voided or that the transaction was voided before the introduction of this field.