Working on Bank Transfers for Stripe

This commit is contained in:
David Bomba 2023-02-27 08:36:16 +11:00
parent 408d453052
commit 5a61eeb02d
3 changed files with 116 additions and 104 deletions

View File

@ -4193,7 +4193,7 @@
*/
public static function lock($name, $seconds = 0, $owner = null)
{
/** @var \Illuminate\Cache\RedisStore $instance */
/** @var \Illuminate\Cache\FileStore $instance */
return $instance->lock($name, $seconds, $owner);
}
/**
@ -4206,7 +4206,7 @@
*/
public static function restoreLock($name, $owner)
{
/** @var \Illuminate\Cache\RedisStore $instance */
/** @var \Illuminate\Cache\FileStore $instance */
return $instance->restoreLock($name, $owner);
}
/**
@ -4217,65 +4217,30 @@
*/
public static function flush()
{
/** @var \Illuminate\Cache\RedisStore $instance */
/** @var \Illuminate\Cache\FileStore $instance */
return $instance->flush();
}
/**
* Get the Redis connection instance.
* Get the Filesystem instance.
*
* @return \Illuminate\Redis\Connections\Connection
* @return \Illuminate\Filesystem\Filesystem
* @static
*/
public static function connection()
public static function getFilesystem()
{
/** @var \Illuminate\Cache\RedisStore $instance */
return $instance->connection();
/** @var \Illuminate\Cache\FileStore $instance */
return $instance->getFilesystem();
}
/**
* Get the Redis connection instance that should be used to manage locks.
* Get the working directory of the cache.
*
* @return \Illuminate\Redis\Connections\Connection
* @return string
* @static
*/
public static function lockConnection()
public static function getDirectory()
{
/** @var \Illuminate\Cache\RedisStore $instance */
return $instance->lockConnection();
}
/**
* Specify the name of the connection that should be used to store data.
*
* @param string $connection
* @return void
* @static
*/
public static function setConnection($connection)
{
/** @var \Illuminate\Cache\RedisStore $instance */
$instance->setConnection($connection);
}
/**
* Specify the name of the connection that should be used to manage locks.
*
* @param string $connection
* @return \Illuminate\Cache\RedisStore
* @static
*/
public static function setLockConnection($connection)
{
/** @var \Illuminate\Cache\RedisStore $instance */
return $instance->setLockConnection($connection);
}
/**
* Get the Redis database instance.
*
* @return \Illuminate\Contracts\Redis\Factory
* @static
*/
public static function getRedis()
{
/** @var \Illuminate\Cache\RedisStore $instance */
return $instance->getRedis();
/** @var \Illuminate\Cache\FileStore $instance */
return $instance->getDirectory();
}
/**
* Get the cache key prefix.
@ -4285,20 +4250,8 @@
*/
public static function getPrefix()
{
/** @var \Illuminate\Cache\RedisStore $instance */
/** @var \Illuminate\Cache\FileStore $instance */
return $instance->getPrefix();
}
/**
* Set the cache key prefix.
*
* @param string $prefix
* @return void
* @static
*/
public static function setPrefix($prefix)
{
/** @var \Illuminate\Cache\RedisStore $instance */
$instance->setPrefix($prefix);
}
}
@ -9901,44 +9854,45 @@
return $instance->setConnectionName($name);
}
/**
* Migrate the delayed jobs that are ready to the regular queue.
* Release a reserved job back onto the queue after (n) seconds.
*
* @param string $from
* @param string $to
* @param int $limit
* @return array
* @param string $queue
* @param \Illuminate\Queue\Jobs\DatabaseJobRecord $job
* @param int $delay
* @return mixed
* @static
*/
public static function migrateExpiredJobs($from, $to)
public static function release($queue, $job, $delay)
{
/** @var \Illuminate\Queue\RedisQueue $instance */
return $instance->migrateExpiredJobs($from, $to);
/** @var \Illuminate\Queue\DatabaseQueue $instance */
return $instance->release($queue, $job, $delay);
}
/**
* Delete a reserved job from the queue.
*
* @param string $queue
* @param \Illuminate\Queue\Jobs\RedisJob $job
* @param string $id
* @return void
* @throws \Throwable
* @static
*/
public static function deleteReserved($queue, $job)
public static function deleteReserved($queue, $id)
{
/** @var \Illuminate\Queue\RedisQueue $instance */
$instance->deleteReserved($queue, $job);
/** @var \Illuminate\Queue\DatabaseQueue $instance */
$instance->deleteReserved($queue, $id);
}
/**
* Delete a reserved job from the reserved queue and release it.
*
* @param string $queue
* @param \Illuminate\Queue\Jobs\RedisJob $job
* @param \Illuminate\Queue\Jobs\DatabaseJob $job
* @param int $delay
* @return void
* @static
*/
public static function deleteAndRelease($queue, $job, $delay)
{
/** @var \Illuminate\Queue\RedisQueue $instance */
/** @var \Illuminate\Queue\DatabaseQueue $instance */
$instance->deleteAndRelease($queue, $job, $delay);
}
/**
@ -9950,7 +9904,7 @@
*/
public static function clear($queue)
{
/** @var \Illuminate\Queue\RedisQueue $instance */
/** @var \Illuminate\Queue\DatabaseQueue $instance */
return $instance->clear($queue);
}
/**
@ -9962,30 +9916,19 @@
*/
public static function getQueue($queue)
{
/** @var \Illuminate\Queue\RedisQueue $instance */
/** @var \Illuminate\Queue\DatabaseQueue $instance */
return $instance->getQueue($queue);
}
/**
* Get the connection for the queue.
* Get the underlying database instance.
*
* @return \Illuminate\Redis\Connections\Connection
* @return \Illuminate\Database\Connection
* @static
*/
public static function getConnection()
public static function getDatabase()
{
/** @var \Illuminate\Queue\RedisQueue $instance */
return $instance->getConnection();
}
/**
* Get the underlying Redis instance.
*
* @return \Illuminate\Contracts\Redis\Factory
* @static
*/
public static function getRedis()
{
/** @var \Illuminate\Queue\RedisQueue $instance */
return $instance->getRedis();
/** @var \Illuminate\Queue\DatabaseQueue $instance */
return $instance->getDatabase();
}
/**
* Get the backoff for an object-based queue handler.
@ -9996,7 +9939,7 @@
*/
public static function getJobBackoff($job)
{ //Method inherited from \Illuminate\Queue\Queue
/** @var \Illuminate\Queue\RedisQueue $instance */
/** @var \Illuminate\Queue\DatabaseQueue $instance */
return $instance->getJobBackoff($job);
}
/**
@ -10008,7 +9951,7 @@
*/
public static function getJobExpiration($job)
{ //Method inherited from \Illuminate\Queue\Queue
/** @var \Illuminate\Queue\RedisQueue $instance */
/** @var \Illuminate\Queue\DatabaseQueue $instance */
return $instance->getJobExpiration($job);
}
/**
@ -10020,7 +9963,7 @@
*/
public static function createPayloadUsing($callback)
{ //Method inherited from \Illuminate\Queue\Queue
\Illuminate\Queue\RedisQueue::createPayloadUsing($callback);
\Illuminate\Queue\DatabaseQueue::createPayloadUsing($callback);
}
/**
* Get the container instance being used by the connection.
@ -10030,7 +9973,7 @@
*/
public static function getContainer()
{ //Method inherited from \Illuminate\Queue\Queue
/** @var \Illuminate\Queue\RedisQueue $instance */
/** @var \Illuminate\Queue\DatabaseQueue $instance */
return $instance->getContainer();
}
/**
@ -10042,7 +9985,7 @@
*/
public static function setContainer($container)
{ //Method inherited from \Illuminate\Queue\Queue
/** @var \Illuminate\Queue\RedisQueue $instance */
/** @var \Illuminate\Queue\DatabaseQueue $instance */
$instance->setContainer($container);
}
@ -17854,6 +17797,25 @@
/**
*
*
* @method static void createSubscription(array|string $channels, \Closure $callback, string $method = 'subscribe')
* @method static \Illuminate\Redis\Limiters\ConcurrencyLimiterBuilder funnel(string $name)
* @method static \Illuminate\Redis\Limiters\DurationLimiterBuilder throttle(string $name)
* @method static mixed client()
* @method static void subscribe(array|string $channels, \Closure $callback)
* @method static void psubscribe(array|string $channels, \Closure $callback)
* @method static mixed command(string $method, array $parameters = [])
* @method static void listen(\Closure $callback)
* @method static string|null getName()
* @method static \Illuminate\Redis\Connections\Connection setName(string $name)
* @method static \Illuminate\Contracts\Events\Dispatcher getEventDispatcher()
* @method static void setEventDispatcher(\Illuminate\Contracts\Events\Dispatcher $events)
* @method static void unsetEventDispatcher()
* @method static void macro(string $name, object|callable $macro)
* @method static void mixin(object $mixin, bool $replace = true)
* @method static bool hasMacro(string $name)
* @method static void flushMacros()
* @method static mixed macroCall(string $method, array $parameters)
* @see \Illuminate\Redis\RedisManager
*/
class Redis {
/**

View File

@ -12,6 +12,7 @@
namespace App\PaymentDrivers\Stripe;
use App\Utils\Number;
use App\Models\Payment;
use App\Models\SystemLog;
use Stripe\PaymentIntent;
@ -127,16 +128,16 @@ class BankTransfer
if($pi->status == 'requires_action' && $pi->next_action->type == 'display_bank_transfer_instructions') {
$data = [
'amount' => $this->stripe->convertFromStripeAmount($this->stripe->payment_hash->data->stripe_amount, $this->stripe->client->currency()->precision, $this->stripe->client->currency()),
'account_holder_name' => $pi->next_action->display_bank_transfer_instructions->financial_addresses[0]->account_holder_name,
'account_number' => $pi->next_action->display_bank_transfer_instructions->financial_addresses[0]->account_number,
'sort_code' => $pi->next_action->display_bank_transfer_instructions->financial_addresses[0]->sort_code,
'amount' => Number::formatMoney($this->stripe->convertFromStripeAmount($pi->next_action->display_bank_transfer_instructions->amount_remaining, $this->stripe->client->currency()->precision, $this->stripe->client->currency()), $this->stripe->client),
'account_holder_name' => $pi->next_action->display_bank_transfer_instructions->financial_addresses[0]->sort_code->account_holder_name,
'account_number' => $pi->next_action->display_bank_transfer_instructions->financial_addresses[0]->sort_code->account_number,
'sort_code' => $pi->next_action->display_bank_transfer_instructions->financial_addresses[0]->sort_code->sort_code,
'reference' => $pi->next_action->display_bank_transfer_instructions->reference,
'descripton' => $pi->description,
'description' => $pi->description,
'gateway' => $this->stripe->company_gateway,
];
return render('gateways.stripe.bank_transfer.bank_details', $data);
// $data = [

View File

@ -0,0 +1,49 @@
@extends('portal.ninja2020.layout.payments', ['gateway_title' => 'Bank Transfer', 'card_title' => $description ])
@section('gateway_content')
<div class="container mx-auto">
<div class="px-4 py-5 bg-white sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6">
<dt class="text-sm font-medium leading-5 text-gray-500">
{{ ctrans('texts.account_name') }}
</dt>
<dd class="mt-1 text-sm leading-5 text-gray-900 sm:mt-0 sm:col-span-2">
{{ $account_holder_name }}
</dd>
<dt class="text-sm font-medium leading-5 text-gray-500">
{{ ctrans('texts.account_number') }}
</dt>
<dd class="mt-1 text-sm leading-5 text-gray-900 sm:mt-0 sm:col-span-2">
{{ $account_number }}
</dd>
<dt class="text-sm font-medium leading-5 text-gray-500">
{{ ctrans('texts.sort') }}
</dt>
<dd class="mt-1 text-sm leading-5 text-gray-900 sm:mt-0 sm:col-span-2">
{{ $sort_code }}
</dd>
<dt class="text-sm font-medium leading-5 text-gray-500">
{{ ctrans('texts.reference') }}
</dt>
<dd class="mt-1 text-sm leading-5 text-gray-900 sm:mt-0 sm:col-span-2">
{{ $reference }}
</dd>
<dt class="text-sm font-medium leading-5 text-gray-500">
{{ ctrans('texts.balance_due') }}
</dt>
<dd class="mt-1 text-sm leading-5 text-gray-900 sm:mt-0 sm:col-span-2">
{{ $amount }}
</dd>
</div>
</div>
@endsection
@push('footer')
@endpush