Headless SDK
Customize the payment experience using Headless functions
1. Initialize the Hyperswitch SDK
Initialize Hyperswitch Headless SDK onto your app with your publishable key. To get a Publishable Key please find it here.
// pod 'hyperswitch-sdk-ios'
paymentSession = PaymentSession(publishableKey: publishableKey)
2. Create a Payment Intent
Make a request to the endpoint on your server to create a new Payment. The clientSecret returned by your endpoint is used to initialize the payment session.
Important: Make sure to never share your API key with your client application as this could potentially compromise your security
3. Initialize your Payment Session
Initialize a Payment Session by passing the clientSecret to the initPaymentSession
paymentSession?.initPaymentSession(paymentIntentClientSecret: paymentIntentClientSecret)
| options (Required) | Description |
|---|---|
clientSecret (string) |
Required. Required to use as the identifier of the payment. |
4. Craft a customized payments experience
Using the paymentSession object, the default customer payment method data can be fetched, using which you can craft your own payments experience. The paymentSession object also exposes a confirmWithCustomerDefaultPaymentMethod function, using which you can confirm and handle the payment session.
private var handler: PaymentSessionHandler?
func initSavedPaymentMethodSessionCallback(handler: PaymentSessionHandler)-> Void {
self.handler = handler
}
@objc func launchHeadless(_ sender: Any) {
paymentSession!.getCustomerSavedPaymentMethods(initSavedPaymentMethodSessionCallback)
}
@objc func confirmPayment(_ sender: Any) {
let paymentMethod = self.handler!.getCustomerLastUsedSavedPaymentMethodData(callback)
}
@objc func confirmPayment(_ sender: Any) {
self.handler!.confirmWithLastUsedSavedPaymentMethodData(callback)
}
Payload for confirmWithCustomerLastUsedPaymentMethod(callback)
| options (Required) | Description |
|---|---|
callback (function) | Callback to get confirm response. |