With the SDK installed, it’s time to create a transaction.
Initialize the SDK
To initialize the SDK, call the .showPaymentSheet()
method on the SDK to open the payment sheet
to prompt the buyer to pay.
import EmbedReactNative from '@gr4vy/embed-react-native';
const handleCheckout = () => {
EmbedReactNative.showPaymentSheet({
gr4vyId: 'mattilda',
environment: 'sandbox',
token: '[TOKEN]',
amount: 1299,
currency: 'AUD',
country: 'AU',
...
})
}
<Button onClick={handleCheckout}>Pay</Button>
Replace the [TOKEN]
with the JWT created in step 2.
Additional options can be provided when launching the SDK.
Handle events
Once launched, the SDK will send events when a transaction was created and for some failures.
To handle these events, add a new event listener to the SDK.
import { EmbedReactNativeEventEmitter, Gr4vyEvent } from '@gr4vy/embed-react-native';
const onEvent = (event: Gr4vyEvent) => {
const { name, data } = event
console[name === 'generalError' ? 'error' : 'log'](name, data)
}
useEffect(() => {
const onEventSubscription = EmbedReactNativeEventEmitter.addListener(
'onEvent',
onEvent
)
return () => {
onEventSubscription.remove()
}
}, [])
Learn more about the events triggered by the React Native SDK in our events guide.