Mise en œuvre rapide des paiements Zarin Pal avec Fast_ZarinPal
1.Ajoutez Fast Zarinpal à votre projet
flutter pub add fast_zarinpal
2.Ajoutez votre rappel dans AndroidManifest.xml
Ajoutez le code suivant dans le fichier manifeste Android. android/app/main/AndroidManifest.xml
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="payment"
android:host='yourdomain.com' />
</intent-filter>
❓Vous pouvez saisir l’adresse souhaitée au lieu de yourdomain.com
. Si cette adresse n’est pas enregistrée pour une autre application, ce ne sera pas un problème. Pour référence, le fichier AndroidManifest.xml de l’exemple d’application peut être trouvé ici.
Exemple
FastZarinPal(
callback: 'yourdomain.com',
merchantID: 'e8188181-8181-8181-8181-818181818181',
paymentTitle: 'خرید اشتراک ماهانه ',
priceToPay: 125000,
totalPurchaseAmount: 150000,
dicount: 25000,
onPaymentFailedWidgets: (amount) =>
FailedPaymentWidget(themeData: themeData),
onSuccessWidgets: (amount, refID) {
return const SuccessPaymentWidget();
},
),
class SuccessPaymentWidget extends StatelessWidget {
const SuccessPaymentWidget({
Key? key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Column(
children: [
const Icon(
Icons.check,
color: Colors.green,
),
const Text('پرداخت شما موفق بود ! '),
const SizedBox(
height: 12,
),
const Divider(),
TextButton(
onPressed: () {}, child: const Text('بازگشت به صفحه فروشگاه')),
],
);
}
}
class FailedPaymentWidget extends StatelessWidget {
const FailedPaymentWidget({
Key? key,
required this.themeData,
}) : super(key: key);
final ThemeData themeData;
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(
Icons.error,
color: themeData.errorColor,
),
Text(
'پرداخت شما ناموفق بود :(',
style: themeData.textTheme.subtitle1!.copyWith(
color: themeData.errorColor,
),
),
const Divider(),
TextButton(onPressed: () {}, child: const Text('بازگشت و تلاش مجدد')),
],
);
}
}
Retour
Si vous avez des commentaires, veuillez nous contacter à [email protected]
GitHub
Voir Github