متد paymentVerify
به شما امکان میدهد تا پس از بازگشت کاربر از درگاه پرداخت، وضعیت تراکنش را بررسی و تأیید کنید. با استفاده از این متد، شما میتوانید صحت پرداخت و جزئیات تراکنش را بررسی کنید و در صورت موفقیتآمیز بودن پرداخت، آن را تأیید نمایید.
این متد معمولاً پس از بازگشت کاربر به آدرس callback_url
که در درخواست پرداخت مشخص شده بود، استفاده میشود.
در جدول زیر پارامترهای ارسالی به متد paymentVerify
و توضیحات مربوط به آنها آورده شده است:
نام پارامتر | نوع | الزامی | توضیحات |
---|---|---|---|
authority | String | بله | کد authority که پس از درخواست پرداخت از درگاه دریافت میشود و در کوئری استرینگ بازگشت به callback_url وجود دارد. |
amount | Integer | بله | مبلغ پرداختی که باید با مبلغ اصلی تراکنش مطابقت داشته باشد. این مقدار باید از دیتابیس استخراج شود. |
در ادامه، نمونه کدی ارائه شده است که ابتدا کد authority
از کوئری استرینگ دریافت میشود، سپس مبلغ مربوط به این authority
از دیتابیس استخراج شده و برای تأیید به زرینپال ارسال میشود:
import com.example.zarinpal.ZarinPal
import com.example.zarinpal.data.remote.dto.verification.PaymentVerificationDataResponse
import com.example.zarinpal.data.remote.dto.verification.PaymentVerifyRequest
val request = PaymentVerifyRequest(
amount = amount,
authority = "your authority"
)
CoroutineScope(Dispatchers.IO).launch {
try{
val response = zarinPal.paymentVerify(request)
Log.v("ZP_Log","$response")
} catch (ex: Exception) {
ex.printStackTrace()
}
}