Flutter
Installation
Add the dependency to your app's pubspec.yaml:
yaml
dependencies:
arto_sdk: ^1.1.0Then run:
bash
flutter pub get
# or
flutter pub add arto_sdk⚠️ Important
Get your
publicKeyfrom the ArtoPay merchant dashboard. Then from your backend, call ArtoPay's/v1/payment-intentsendpoint to retrievesecretTokenandintentIdvalues.
Platform Configuration
Android
Update your application's AndroidManifest.xml:
xml
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="https" />
<data android:scheme="shopeepay" />
</intent>
</queries>iOS
Update your application's Info.plist:
xml
<key>LSApplicationQueriesSchemes</key>
<array>
<string>http</string>
<string>https</string>
</array>Basic Usage
dart
import 'package:arto_sdk/arto/arto.dart';
void _onProcess() {
final publicKey = "pk_xxxxxxxxxx";
final secretToken = "pi_xxxxxxxxxx";
final intentId = "xxxxxxxxxx";
Arto.configure(sandbox: _isSandbox, publicKey: publicKey);
final options = OpenPaymentOptions(
clientSecret: secretToken,
paymentId: intentId,
token: customerToken.isNotEmpty ? customerToken : null,
sandbox: _isSandbox,
onSuccess: (result) {
debugPrint('PAYMENT SUCCESS: ${result.rawData}');
},
onPending: (result) {
debugPrint('PAYMENT PENDING: ${result.rawData}');
},
onError: (result) {
debugPrint('PAYMENT ERROR: ${result.rawData}');
},
onClose: (result) {
debugPrint('PAYMENT CLOSE: ${result.rawData}');
},
);
try {
Arto.openPayment(context, options);
} catch (e) {
ScaffoldMessenger.of(context)
.showSnackBar(SnackBar(content: Text(e.toString())));
}
}Callbacks
| Field | Type | Description |
|---|---|---|
onSuccess | String | Payment is successful |
onPending | String | Payment is pending |
onError | String | Payment has failed |
onClose | void | User closes payment page |