mirror of
https://github.com/nothingworksinc/ticketbeast.git
synced 2026-02-07 10:50:13 +00:00
6.5 - Hooking into Charges
This commit is contained in:
@@ -5,6 +5,7 @@ namespace App\Billing;
|
||||
class FakePaymentGateway implements PaymentGateway
|
||||
{
|
||||
private $charges;
|
||||
private $beforeFirstChargeCallback;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
@@ -18,6 +19,10 @@ class FakePaymentGateway implements PaymentGateway
|
||||
|
||||
public function charge($amount, $token)
|
||||
{
|
||||
if ($this->beforeFirstChargeCallback !== null) {
|
||||
$this->beforeFirstChargeCallback->__invoke($this);
|
||||
}
|
||||
|
||||
if ($token !== $this->getValidTestToken()) {
|
||||
throw new PaymentFailedException;
|
||||
}
|
||||
@@ -28,4 +33,9 @@ class FakePaymentGateway implements PaymentGateway
|
||||
{
|
||||
return $this->charges->sum();
|
||||
}
|
||||
|
||||
public function beforeFirstCharge($callback)
|
||||
{
|
||||
$this->beforeFirstChargeCallback = $callback;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user