Step 4: Create a transaction
With the SDK ready, it’s time to create a transaction.
Initialize the SDK
To initialize the SDK, call the .init()
method on the SDK.
import gr4vy_ios
let result = Gr4vy.init(
gr4vyId: "[GR4VY_ID]",
token: "[TOKEN]",
amount: 1299,
currency: "AUD",
country: "AU",
buyerId: nil,
environment: Gr4vyEnvironment.sandbox
)
Replace the [GR4VY_ID]
with your instance identifier and [TOKEN]
with the JWT created in step 2.
Additional options can be provided when launching the SDK.
The Gr4vy ID is the unique identifier for your instance. Together with the environment (sandbox or production) it is used to connect to the right APIs.
Launch & handle events
Next, it’s time to open the payment sheet with the .launch()
method. The launch method requires attaching an event handler
that listens for transactions that have been created or failed, as well as more generic errors.
result?.launch(presentingViewController: self, onEvent: { event in
switch event {
case .transactionFailed(let transactionID, let status, let paymentMethodID):
print("Handle a transaction failure, ID: \(transactionID), Status: \(status), PaymentMethodID: \(paymentMethodID ?? "Unknown")")
case .transactionCreated(let transactionID, let status, let paymentMethodID):
print("Handle successful transaction, ID: \(transactionID), Status: \(status), PaymentMethodID: \(paymentMethodID ?? "Unknown")")
case .generalError(let error):
print("Error: \(error.description)")
}
})
When calling .launch()
the presentingViewController
is the current view controller this SDK is launched from.
The SDK will present the payment sheet on top of the current view controller, passing events back to the presenting view controller
via the onEvent
callback.
Learn more about the events triggered by the iOS SDK in our events guide.
Was this page helpful?