Commit d4cd8df1 by Yvon

try to catch recurring payment occurence

parent 4cee20f6
......@@ -150,22 +150,24 @@ class PaymentController extends AbstractController
*/
public function notifyRecurringPaymentAction(Request $request)
{
try {
$token = $this->payum->getHttpRequestVerifier()->verify($request);
} catch (\Exception $e) {
// Token expired
return new Response("Token expired");
$vads_cust_email = $request->request->get("vads_cust_email");
$recurringPayments = $this->em->getRepository(Payment::class)->findBy([
'isRecurrent' => true,
'clientEmail' => $vads_cust_email,
]);
if(!$recurringPayments) {
return new Response("No recurring payments with email " . $vads_cust_email);
}
// Get payment
$gateway = $this->payum->getGateway($token->getGatewayName());
$gateway->execute($status = new GetHumanStatus($token));
$payment = $status->getFirstModel();
if($payment->getIsRecurrent()) {
$gateway->execute(new Notify($token));
return new Response("Execute notify recurring payment");
$vads_identifier = $request->request->get("vads_identifier");
foreach($recurringPayments as $rp) {
$details = json_decode($rp->getDetails(), true);
if($details['vads_identifier'] == $vads_identifier) {
return new Response("Found matching recurring payment !");
}
}
return new Response("Payment is not marked recurring.");
return new Response("No recurring payments with vads_identifier " . $vads_identifier);
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment