forked from dantim1997/HaarlemFestival
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHFWebHook.php
83 lines (77 loc) · 3.32 KB
/
HFWebHook.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?php
require_once( "Autoloader.php");
require_once ("mollie/vendor/autoload.php");
require_once ("mollie/examples/functions.php");
$Config = Config::getInstance();
$mollie = new \Mollie\Api\MollieApiClient();
$mollie->setApiKey($Config->GetMollieKey());
$payment = $mollie->payments->get($_POST["id"]);
$orderId = $payment->metadata;
/*
* Update the order in the database.
*/
//database_write($orderId, $payment->status);
if ($payment->isPaid() && !$payment->hasRefunds() && !$payment->hasChargebacks()) {
/*
* The payment is paid and isn't refunded or charged back.
* At this point you'd probably want to start the process of delivering the product to the customer.
*/
$Session = new Session;
$PaymentService = new PaymentService;
$OrderRepository = new OrderRepository;
$tickets = $OrderRepository->GetAllByOrderLine($orderId);
foreach($tickets as $ticket){
$PaymentService->UpdateTickets($ticket['Id']);
}
error_log("mail 1");
$InvoiceModel = new InvoiceModel;
$InvoicecustomerInfo = $OrderRepository->GetInvoiceOrder($orderId);
$AllTicketsInvoice = $OrderRepository->GetInvoiceTicketsDance($orderId);
$AllTicketsInvoice = array_merge($AllTicketsInvoice, $OrderRepository->GetInvoiceTicketsFood($orderId));
$AllTicketsInvoice = array_merge($AllTicketsInvoice, $OrderRepository->GetInvoiceTicketsJazz($orderId));
$AllTicketsInvoice = array_merge($AllTicketsInvoice, $OrderRepository->GetInvoiceTicketsTour($orderId));
$AllTicketsInvoice = $InvoiceModel->InvoiceModelMaker($AllTicketsInvoice);
$sendInvoiceMail = new SendInvoiceMail();
$sendInvoiceMail->SendCustomerMail($InvoicecustomerInfo, $AllTicketsInvoice);
error_log("mail 2");
$customerInfo = $OrderRepository->GetAllCustomerInfo($orderId);
$PayedTicketsDance = $OrderRepository->GetAllTicketInfoDance($orderId);
$PayedTicketsFood = $OrderRepository->GetAllTicketInfoFood($orderId);
$PayedTicketsJazz = $OrderRepository->GetAllTicketInfoJazz($orderId);
$PayedTicketsTour = $OrderRepository->GetAllTicketInfoTour($orderId);
$AllTickets = array_merge($PayedTicketsDance, $PayedTicketsJazz);
$AllTickets = array_merge($AllTickets, $PayedTicketsFood);
$AllTickets = array_merge($AllTickets, $PayedTicketsTour);
$sendMail = new SendMail();
$sendMail->SendCustomerMail($customerInfo, $AllTickets);
} elseif ($payment->isOpen()) {
/*
* The payment is open.
*/
} elseif ($payment->isPending()) {
/*
* The payment is pending.
*/
} elseif ($payment->isFailed()) {
/*
* The payment has failed.
*/
} elseif ($payment->isExpired()) {
/*
* The payment is expired.
*/
} elseif ($payment->isCanceled()) {
/*
* The payment has been canceled.
*/
} elseif ($payment->hasRefunds()) {
/*
* The payment has been (partially) refunded.
* The status of the payment is still "paid"
*/
} elseif ($payment->hasChargebacks()) {
/*
* The payment has been (partially) charged back.
* The status of the payment is still "paid"
*/
}