1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-10 13:12:50 +01:00

Merge pull request #6643 from beganovich/v5-sofort-fixes

Fixes for webhook accepting
This commit is contained in:
David Bomba 2021-09-14 23:43:44 +10:00 committed by GitHub
commit d6e8c66f1c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 23 deletions

View File

@ -85,7 +85,7 @@ class SOFORT
'gateway_type_id' => GatewayType::SOFORT,
];
// $payment = $this->stripe->createPayment($data, Payment::STATUS_PENDING);
$this->stripe->createPayment($data, Payment::STATUS_PENDING);
SystemLogger::dispatch(
['response' => $this->stripe->payment_hash->data, 'data' => $data],

View File

@ -436,33 +436,28 @@ class StripePaymentDriver extends BaseDriver
$payment->save();
}
}
}
elseif($request->type === 'source.chargeable'){
} elseif ($request->type === 'source.chargeable') {
$this->init();
$charge = \Stripe\Charge::create([
'amount' => $request->amount,
'currency' => $request->currency,
'source' => $request->id,
], $this->stripe_connect_auth);
foreach ($request->data as $transaction) {
$charge = \Stripe\Charge::create([
'amount' => $request->data['object']['amount'],
'currency' => $request->data['object']['currency'],
'source' => $request->data['object']['id'],
], $this->stripe_connect_auth);
if($charge->captured)
{
$this->setClientFromCustomer($request->customer);
$data = [
'payment_method' => $request->id,
'payment_type' => PaymentType::SOFORT,
'amount' => $this->convertFromStripeAmount($request->amount, $this->client->currency()->precision, $this->client->currency()),
'transaction_reference' => $charge->id,
'gateway_type_id' => GatewayType::SOFORT,
];
$payment = $this->createPayment($data, Payment::STATUS_COMPLETED);
if ($charge->captured) {
$payment = Payment::query()
->where('transaction_reference', $transaction['id'])
->where('company_id', $request->getCompany()->id)
->first();
if ($payment) {
$payment->status_id = Payment::STATUS_COMPLETED;
$payment->save();
}
}
}
}
return response()->json([], 200);