From f14446031c4a58fb3183766906092e14c0e68938 Mon Sep 17 00:00:00 2001 From: Saksham Sharma Date: Thu, 20 Mar 2025 10:43:58 +0530 Subject: [PATCH] feat: add type and status in capture payment --- README.md | 4 +++- lib/linkrunner.dart | 2 ++ lib/models/lr_capture_payment.dart | 24 ++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a08ad1f..2682bb3 100644 --- a/README.md +++ b/README.md @@ -222,7 +222,9 @@ void capturePayment() async { capturePayment: LRCapturePayment( userId: '666', amount: 24168, // Send amount in one currency only - paymentId: 'AJKHAS' // optional but recommended + paymentId: 'AJKHAS', // optional but recommended + type: PaymentType.FIRST_PAYMENT, // optional + status: PaymentStatus.PAYMENT_COMPLETED, // optional ), ); } diff --git a/lib/linkrunner.dart b/lib/linkrunner.dart index ab2b075..6bdf425 100644 --- a/lib/linkrunner.dart +++ b/lib/linkrunner.dart @@ -287,6 +287,8 @@ class LinkRunner { 'payment_id': capturePayment.paymentId, 'user_id': capturePayment.userId, 'amount': capturePayment.amount, + 'type': capturePayment.type, + 'status': capturePayment.status, 'install_instance_id': await getLinkRunnerInstallInstanceId(), }); diff --git a/lib/models/lr_capture_payment.dart b/lib/models/lr_capture_payment.dart index 95439c6..d0c8412 100644 --- a/lib/models/lr_capture_payment.dart +++ b/lib/models/lr_capture_payment.dart @@ -1,18 +1,42 @@ +enum PaymentType { + FIRST_PAYMENT, + WALLET_TOPUP, + FUNDS_WITHDRAWAL, + SUBSCRIPTION_CREATED, + SUBSCRIPTION_RENEWED, + DEFAULT_PAYMENT, + ONE_TIME, + RECURRING, +} + +enum PaymentStatus { + PAYMENT_INITIATED, + PAYMENT_COMPLETED, + PAYMENT_FAILED, + PAYMENT_CANCELLED, +} + class LRCapturePayment { final String? paymentId; final String userId; final double amount; + final PaymentType? type; + final PaymentStatus? status; LRCapturePayment({ this.paymentId, required this.userId, required this.amount, + this.type, + this.status, }); Map toJSON() { Map json = { 'user_id': userId, 'amount': amount, + 'type': type?.name, + 'status': status?.name, }; if (paymentId != null) {