فهرست مستندات پروژه
رویدادها
پرداخت در نقاط کلیدی جریان پرداخت رویدادهای چرخه حیات ارسال میکند. رویدادها اختیاری هستند — اگر EventDispatcher ارائه نشود، رویدادها بیصدا نادیده گرفته میشوند.
راهاندازی
اینترفیس EventDispatcher را پیادهسازی کنید و به Pardakht ارسال کنید:
use Eram\Pardakht\Http\EventDispatcher;
class MyEventDispatcher implements EventDispatcher
{
public function dispatch(object $event): object
{
// رویداد را مدیریت یا ارسال کنید
return $event;
}
}
$pardakht = new Pardakht(eventDispatcher: new MyEventDispatcher());
انواع رویداد
PurchaseInitiated
هنگام فراخوانی purchase() و قبل از ارسال درخواست به درگاه ارسال میشود.
use Eram\Pardakht\Event\PurchaseInitiated;
// خصوصیات:
$event->gatewayName; // string — مثلاً "zarinpal"
$event->request; // PurchaseRequest
CallbackReceived
هنگام فراخوانی verify() و قبل از شروع تایید ارسال میشود.
use Eram\Pardakht\Event\CallbackReceived;
// خصوصیات:
$event->gatewayName; // string
$event->callbackData; // array<string, mixed>
PaymentVerified
پس از تایید موفق پرداخت ارسال میشود.
use Eram\Pardakht\Event\PaymentVerified;
// خصوصیات:
$event->gatewayName; // string
$event->transaction; // TransactionInterface
PaymentSettled
پس از تسویه موفق (ملت، پارسیان) ارسال میشود.
use Eram\Pardakht\Event\PaymentSettled;
// خصوصیات:
$event->gatewayName; // string
$event->transaction; // TransactionInterface
PaymentFailed
هنگام ناموفق بودن عملیات درگاه ارسال میشود.
use Eram\Pardakht\Event\PaymentFailed;
// خصوصیات:
$event->gatewayName; // string
$event->reason; // string — پیام خطای قابل خواندن
$event->errorCode; // int|string — کد خطای مخصوص درگاه (پیشفرض: 0)
جریان رویدادها
purchase() ──→ PurchaseInitiated ──→ [درخواست درگاه] ──→ ریدایرکت
│
آدرس کالبک ←─────────────────────────────────────────────────┘
│
verify() ──→ CallbackReceived ──→ [درخواست تایید]
│ │
│ ┌─────┴─────┐
│ موفق ناموفق
│ │ │
│ PaymentVerified PaymentFailed
│
settle() ──→ [درخواست تسویه]
│
┌─────┴─────┐
موفق ناموفق
│ │
PaymentSettled PaymentFailed
موارد استفاده
- لاگگیری — ثبت هر تلاش پرداخت و نتیجه آن
- اعلانها — ارسال پیامک/ایمیل هنگام
PaymentVerified - آنالیتیکس — پیگیری نرخ تبدیل از
PurchaseInitiatedتاPaymentVerified - هشدار — نظارت بر
PaymentFailedبرای مشکلات عملیاتی - ردپای حسابرسی — ذخیره تمام رویدادها برای انطباق
⁅پرداخت در نقاط کلیدی جریان پرداخت رویداد چرخه حیات ارسال کرد رویداد اختیاری هستند اگر eventdispatcher ارایه نشد رویداد بیصدا بی صدا ناد گرفت شد اینترفیس eventdispatcher را پیادهسازی پیاد سازی کرد و به pardakht ارسال کرد use eram pardakht http eventdispatcher class myeventdispatcher implements eventdispatcher public function dispatch object event object رویداد را مدیریت یا ارسال کرد return event pardakht new pardakht eventdispatcher new myeventdispatcher هنگا فراخوانی purchase و قبل از ارسال درخواست به درگاه ارسال شد use eram pardakht event purchaseinitiated خصوصیت event gatewayname string مثلا zarinpal event request purchaserequest هنگا فراخوانی verify و قبل از شروع تای ارسال شد use eram pardakht event callbackreceived خصوصیت event gatewayname string event callbackdata array string mixed پس از تای موفق پرداخت ارسال شد use eram pardakht event paymentverified خصوصیت event gatewayname string event transaction transactioninterface پس از تسویه موفق ملت پارس ارسال شد use eram pardakht event paymentsettled خصوصیت event gatewayname string event transaction transactioninterface هنگا ناموفق بود عملیات درگاه ارسال شد use eram pardakht event paymentfailed خصوصیت event gatewayname string event reason string پیام خطا قابل خواند event errorcode int string کد خطا مخصوص درگاه پیشفرض پیش فرض 0 purchase purchaseinitiated درخواست درگاه ریدایرکت آدرس ادرس کالبک کال بک verify callbackreceived درخواست تای موفق ناموفق paymentverified paymentfailed settle درخواست تسویه موفق ناموفق paymentsettled paymentfailed لاگگیری لاگ گیری ثبت هر تلاش پرداخت و نتیجه آن ان اعلان ارسال پیامک ایمیل هنگا paymentverified آنالیتیکس انالیتیکس پیگیری نرخ تبدیل از purchaseinitiated تا paymentverified هشدار نظارت بر paymentfailed برای مشکل عملیاتی ردپ حسابرسی ذخیره تما رویداد برای انطباق⁆
⁅رویداد⁆
⁅راهاندازیانواع راه اندازیانواع رویدادجر رویدادهاموارد استفاد⁆
⁅purchaseinitiatedcallbackreceivedpaymentverifiedpaymentsettledpaymentfailed⁆