將 Tabby 整合到您的 React Native 應用程式中可以是一個無縫的過程,但網路上沒有提供逐步方法的綜合指南。本文整合了多個來源的信息,為您提供在 React Native 應用程式中實現 Tabby 的清晰路線圖。
第 1 步:安裝 Tabby SDK
首先,您需要安裝適用於 React Native 的 Tabby SDK。在專案目錄中執行以下命令:
npm 我 tabby-react-native-sdk
第 2 步:更新特定於平台的設定
<key>NSCameraUsageDescription</key> <string>This allows Tabby to take a photo</string> <key>NSPhotoLibraryUsageDescription</key> <string>This allows Tabby to select a photo</string>
您可以自訂描述以適合您的應用程式。
<uses-permission android:name=”android.permission.CAMERA” /> <uses-permission android:name=”android.permission.READ_EXTERNAL_STORAGE” /> <uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” />
這些權限確保 Tabby 可以存取必要的資源。
第 3 步:在您的應用程式中初始化 Tabby
要初始化 Tabby,請將以下程式碼加入應用程式的入口點(App.tsx 或 index.js):
import {Tabby} from 'tabby-react-native-sdk'; Tabby.setApiKey('__API_KEY_HERE__');
Tabby.setApiKey() 方法設定您的 API 金鑰,允許您的應用程式透過 Tabby 的後端服務進行身份驗證。
將 API_KEY_HERE 替換為您的 Tabby API 金鑰。
第 4 步:建立付款流程
const customerPayment = { amount: 340.0, currency: 'SAR', buyer: { email: 'successful.payment@tabby.ai', phone: '+971500000001', }, }; const myTestPayment = { merchant_code: 'your merchant code', lang: 'en', payment: customerPayment, };
customerPayment 物件定義買家的付款詳細信息,例如金額、貨幣和聯絡資訊。 myTestPayment 物件包括特定於商家的詳細信息,例如商家代碼和首選語言。
建立會話觸發按鈕
在您的 UI 中新增一個按鈕來觸發會話建立過程
<Button title="Proceed with Tabby" onPress={createCheckoutSession} />
按下此按鈕會觸發 createCheckoutSession 函數,啟動付款流程。
實作會話建立邏輯
使用以下函數處理按鈕按下:
const createCheckoutSession = async () => { try { const {sessionId, paymentId, availableProducts} = await Tabby.createSession(myTestPayment); navigation.navigate('TabbyWebViewScreen', { url: availableProducts[0].webUrl, }); } catch (error) { if (error.response) { console.error('Response:', error.response); console.error('Status:', error.response.status); console.error('Data:', error.response.data); } console.error('Error creating Tabby checkout session', error); } };
Tabby.createSession() 方法使用付款資料建立結帳會話。如果成功,回應將包含會話詳細信息,例如 sessionId 和結帳 URL。然後,用戶將導航到新螢幕(TabbyWebViewScreen)以完成付款。
第 5 步:建立 Tabby WebView 畫面
設定一個新畫面顯示 Tabby 結帳流程:
從'react'導入React; 從'react-native'導入{View,StyleSheet,Button}; 從'@react-navigation/native'導入{useNavigation,useRoute}; 從 'tabby-react-native-sdk' 導入 {TabbyPaymentWebView}; const TabbyWebViewScreen = () =>; { const 導航 = useNavigation(); const 路由 = useRoute(); const {url} = 路由.params; const handlePaymentResult = 訊息 => { 開關(訊息){ 案例「授權」: console.log('付款已授權'); 導航.goBack(); 休息; 案例「被拒絕」: console.log('付款被拒絕'); 導航.goBack(); 休息; 案例“關閉”: console.log('結帳已關閉'); 導航.goBack(); 休息; 案例「已過期」: console.log('會話已過期'); 導航.goBack(); 休息; 預設: 休息; } }; 返回 (
TabbyPaymentWebView 元件會載入結帳 URL 並將其顯示在 Web 視圖中。
handlePaymentResult 函數處理付款結果(例如授權、拒絕或過期)並相應地重新導向使用者。
「返回」按鈕讓使用者可以回到上一畫面。
第6步:處理付款結果
handlePaymentResult 函數根據付款結果管理使用者重新導向:
已授權:付款成功。
拒絕:付款被拒絕。
close:使用者關閉結帳流程。
已過期:會話已過期。
使用這些結果來指導應用程式中的使用者體驗。
其他資源
Tabby React Native SDK
虎斑貓文件
Tabby React Native 範例
探索這些連結以更深入地了解 Tabby 功能和高級用例。
以上是如何在 React Native 中整合 Tabby:分步指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!