Changelog
Product updates and announcements
Changes to transactionCancelled event in Embed
Gr4vy will be changing the payload for the transactionCancelled event raised by Embed to contain more data. This change will roll out to all merchants during the regular release cycle.
Background
Gr4vy Embed has an event handler called onEvent()
. This parameter allows to listen to transactionCancelled
events, which are raised when the Apple Pay / Google Pay payment sheets are dismissed.
Currently, these events include a data payload that is a string.
This is inconsistent with other payloads where data is an object.
Changes
With this change, the new data payload will return an object instead of a string.
Impact
Please check if you are expecting the data property to be a string. For example, your code might perform a check to see if data === 'Apple Pay: Session cancelled'
.
Instead, please check any of the new object’s properties, for example data.method === 'applepay' && data.type === 'cancellation'
.
Affirm
We have added support a direct connection to Affirm.
Affirm is a “buy now, pay later” service that allows consumers to purchase items and split the cost into a series of installments. Offered at the checkout of numerous retailers, it provides shoppers with short-term, often interest-free payment plans, or longer-term loans for larger purchases that may carry interest. This model serves as an alternative to traditional credit cards, allowing for immediate purchase while managing payments over time, with Affirm paying the merchant upfront and assuming the repayment risk.
New SDKs for C#, Go, Java, PHP, Python, and TypeScript
We’re thrilled to announce a significant milestone for our developer experience: the launch of a full suite of new server-side SDKs, now available for Java, TypeScript, Python, Go, C#, and PHP.
This is a huge step forward in making integrations with Gr4vy faster, more reliable, and more consistent. These SDKs are automatically generated and updated, which marks a fundamental shift in how we build and maintain them.
✨ Major Documentation Enhancements
To support the new SDKs, we have launched a comprehensive update to our public documentation.
Key highlights include:
- SDK Code Samples on Every Endpoint: Every API reference page now features ready-to-use code samples for all six new SDKs, making it easier than ever for developers to get started.
- Refreshed Look & Feel: The documentation now features a cleaner navigation and improved structure. Guides have been reorganized into a new dashboard tab, and API-specific pages are now located directly under the API Reference section for better accessibility.
- AI-Powered Assistance: We have integrated support for ChatGPT, Claude, and other LLMs on every page, enabling developers to ask questions and receive instant help.
- Interactive API Playground: The Mintlify-powered API playground is now available, allowing users to make live API calls directly from the documentation.
Split Routing Conditions
Gr4vy now supports an additional mechanism for A/B testing through Flow. We have introduced a new Flow condition that enables merchants to split traffic between rules based on a configurable percentage.
With this new condition, merchants can route only a specified percentage of traffic to a rule, with unmatched traffic cascading to subsequent rules in the list.
FAQ
- What happens if the rule has other conditions as well? The rule will only trigger if all other conditions are also met. For example, a 20% condition will route 20% of the traffic that matches all other criteria.
- Can I chain multiple Flow rules with this new condition? Yes, you can chain multiple Flow rules with percentage-based routing. For instance, if you have rule A and rule B, each with a 20% condition, rule B will apply to 20% of the remaining 80% that did not match rule A. In other words (assuming no other rules or conditions):
- Rule A: 20% of traffic matches
- Rule B: 20% of the remaining 80% = 16% of traffic matches
- Remaining: 64% of traffic continues to other rules or follows default behavior
Worldpay: WPG
Worldpay WPG is now available as a card connector. Worldpay’s Worldwide Payment Gateway is our second integration with Worldpay after VAP. While VAP focuses on the US market, WPG is available globally and supports processing in any currency, local debit schemes, and more. This connector was developed in close collaboration with Worldpay and is fully certified.
Nuvei: iDEAL
We have added support for iDEAL via Nuvei.
iDEAL is the leading online payment method in the Netherlands, enabling consumers to pay for purchases through direct online transfers from their bank accounts. At checkout, users are securely redirected to their online banking environment to authorize the transaction, providing merchants with real-time payment confirmation. This process is highly secure, as no financial details are shared.
Nuvei is a global payment technology company offering a comprehensive suite of payment solutions. Its platform enables merchants to accept a wide variety of payment methods, manage payouts, and utilize services such as card issuing, risk management, and analytics. Nuvei helps businesses connect with customers across more than 200 markets through a single integration.
Real-time Account Updater
Gr4vy now has support for a real-time account (RTAU) updater for Visa and Mastercard cards.
An Account Updater provides a card inquiry service at the schemes. It’s an API that can be called to retrieve an update to a card. We previously had implemented the Batch Account updater (BAU), which allows cards to be scheduled for updates which then arrive a few days later. This worked but was not cost-effective for us or our merchants.
A real-time account update instead provides immediate updates from the issuers on the validity and existence of cards. It functions the same way as batch account updater, in the sense that the same responses are provided, it is however real time and functions as a great tool to recover transactions. As part of this update we also made a slew of extra enhancements to ensure we don’t retry cards previously marked as dead, to both the RTAU and BAU.