The latest product news, changes, and other announcements
POST /transactions/{id}/refunds
request failed, the API would return a generic error, and the exact reason for the failure could only be found by checking the transaction details in the Gr4vy dashboard.Now, when a refund fails, the API error response will include the same rich error details that we provide for other failed payment actions. The response body will contain:error_code
: A standardized Gr4vy error code.raw_response_code
: The raw error code from the payment service provider.raw_response_description
: The raw, human-readable error message from the provider.PUT /transactions/{id}
, that allows for direct updates to specific fields on a transaction resource.external_identifier
, metadata
, and connection_options
. This is perfect for adding an internal order ID after a payment is authorized or for enriching a transaction with metadata required for a reconciliation process.To update a transaction, make a PUT
request to the /transactions/{id}
endpoint with the fields you wish to change. This requires the transactions.write
scope.void
or capture
action fails. You can now opt-in to receive a detailed response object that explains exactly why the action could not be completed.POST /transactions/{transaction_id}/void
or POST /transactions/{transaction_id}/capture
request failed at the payment service provider level, our API would return the original transaction
object with its status unchanged. To understand the reason for the failure, you had to check the Gr4vy dashboard.Now, you can receive a dedicated transaction-void
or transaction-capture
response object. This new object clearly states the status
of the action (e.g., failed
, declined
) and provides the same rich error details you’re used to seeing for failed payments, including:code
: A standardized Gr4vy error code.raw_response_code
: The raw error code from the PSP.raw_response_description
: The raw error message from the PSP.Prefer
header in your API request.Prefer: resource=transaction-void
Prefer: resource=transaction-capture
Prefer
header is not included, the API will continue to return the standard transaction
object, just as it does today.transaction-void
object that is returned when a void action fails and the Prefer
header is used.cardDetailsChanged
event will be triggered whenever our system identifies a change in the card’s details.The event payload will include:partial_match_name
AVS responseavs_response_code
value to our transaction API.The value partial_match_name
is now returned for some connectors when a name matched is returned. This is mainly related to American Express payments.onEvent()
. This parameter allows to listen to transactionCancelled
events, which are raised when the Apple Pay / Google Pay payment sheets are dismissed.data === 'Apple Pay: Session cancelled'
.Instead, please check any of the new object’s properties, for example data.method === 'applepay' && data.type === 'cancellation'
."01"
signifies “New account information available.” Payment service providers (PSPs) pass this code through in the transaction response, and we now read and return this value to merchants via our API. This enhancement is also planned for integration with our Real-Time Account Updater (RTAU) functionality.Merchant Advice Codes are now available through both the API and the dashboard, and have been enabled for Cybersource, Mastercard, Checkout, Adyen, and Stripe connections.