MarkPaidTransaction::class, // TransactionEvent::INVOICE_UPDATED => InvoiceUpdatedTransaction::class, // TransactionEvent::INVOICE_DELETED => InvoiceDeletedTransaction::class, // TransactionEvent::INVOICE_PAYMENT_APPLIED => InvoicePaymentTransaction::class, TransactionEvent::INVOICE_CANCELLED => InvoiceCancelledTransaction::class, TransactionEvent::INVOICE_REVERSED => InvoiceReversalTransaction::class, // TransactionEvent::INVOICE_FEE_APPLIED => InvoiceFeeAppliedTransaction::class, // TransactionEvent::PAYMENT_MADE => PaymentMadeTransaction::class, // TransactionEvent::GATEWAY_PAYMENT_MADE => GatewayPaymentMadeTransaction::class, // TransactionEvent::PAYMENT_APPLIED => PaymentAppliedTransaction::class, TransactionEvent::PAYMENT_REFUND => PaymentRefundedTransaction::class, // TransactionEvent::PAYMENT_FAILED => PaymentFailedTransaction::class, TransactionEvent::PAYMENT_DELETED => PaymentDeletedTransaction::class, // TransactionEvent::CLIENT_STATUS => ClientStatusTransaction::class, // ]; /** * Create a new job instance. * * @return void */ public function __construct($event, $data, $db) { $this->db = $db; $this->event = $event; $this->data = $data; } /** * Execute the job. * * @return void */ public function handle() { // if(!Ninja::isHosted()) // return; $this->setTransformer(); $this->payload = $this->event_transformer->transform($this->data); $this->persist(); } private function setTransformer() { $class = $this->transformer_array[$this->event]; $this->event_transformer = new $class(); return $this; } private function persist() { MultiDB::setDB($this->db); TransactionEvent::create($this->payload); } }