- خانه
- verifyCallback
مرجع API
verifyCallback
متدی روی UnoPay. پرداختکنندهای که رها کرده اینجا بهصورت isSuccessful: false برمیگردد، نه بهصورت استثنا. همین تمایز تعیین میکند هندلر را چگونه بنویسید.
methodUnoPay.verifyCallback
پرداخت را نزد درگاه تایید میکند و پاسخ را یکسانسازی میکند. پرداختکنندهای که پرداخت را رها کرده بهصورت نتیجه false برمیگردد، نه استثنا.
verifyCallback<K extends keyof TGateways>( provider: K, request: CallbackRequest ): Promise<VerificationResult>
پارامترها
| نام | تایپ | الزامی | توضیح |
|---|---|---|---|
provider | K extends keyof TGateways | بله | کلیدی از آبجکت adapters که به سازنده داده شده است. |
request | CallbackRequest | بله | درخواست فریمورک تختشده به method، query و body. |
خروجی
Promise<VerificationResult> — isSuccessful بههمراه ref_id درگاه، مبلغ بازتابیده و errorReason وقتی پرداخت تایید نشد.
خطاها
PaymentError— کد ADAPTER_NOT_FOUND برای درگاه ناشناخته.GatewayProviderError— هر خطای غیر PaymentError را در خود میپیچد، از جمله خطای شبکه هنگام تماس با درگاه.PaymentValidationError— از ZarinpalAdapter وقتی Authority یا مبلغ عددی غایب باشد. بدون تغییر دوباره پرتاب میشود.
نکته
رویداد verification_completed روی هر فراخوانی resolveشده لاگ میشود، چه isSuccessful درست باشد چه نادرست. فقط خطای پرتابشده باعث verification_failed میشود.
نمونه کد
const result = await unopay.verifyCallback('zarinpal', {
method: req.method,
query: req.query as Record<string, string>,
body: req.body ?? {},
});
if (result.isSuccessful) {
return res.send(`Paid. Ref ${result.transactionId}`);
}
return res.status(400).send(`Failed: ${result.errorReason}`);