Skip to content

Commit

Permalink
Possibility of passing parameters when creating payments.
Browse files Browse the repository at this point in the history
  • Loading branch information
arhitov committed May 10, 2024
1 parent 7913c4d commit 8cbe43e
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "arhitov/laravel-billing",
"description": "Billing module for laravel projects",
"version": "0.3.0",
"version": "0.3.1",
"type": "library",
"license": "MIT",
"keywords": [
Expand Down
15 changes: 11 additions & 4 deletions src/Models/Traits/ModelOwnerExpandTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ final public function createSubscription(
* @param Balance|string|null $balance
* @param string|null $gatewayName
* @param OmnipayCreditCard|array|null $card
* @param array $returnRouteParameters
* @param array{return_route: array, receipt: array, receipt_item: array} $parameters
* @return Payment
* @throws \Arhitov\LaravelBilling\Exceptions\BalanceException
* @throws \Arhitov\LaravelBilling\Exceptions\BalanceNotFoundException
Expand All @@ -398,7 +398,7 @@ final public function createPayment(
Balance|string $balance = null,
string $gatewayName = null,
OmnipayCreditCard|array $card = null,
array $returnRouteParameters = [],
array $parameters = [],
): Payment {
if (0 > $amount || $amount > INF) {
throw new AmountException($amount);
Expand All @@ -415,7 +415,14 @@ final public function createPayment(

$receipt = null;
if ($omnipayGateway->isUseOmnireceipt()) {
$receipt = $omnipayGateway->getOmnireceiptGateway()->receiptFactory($this, [], ['amount' => $amount, 'currency' => $balance->currency->value]);
$receipt = $omnipayGateway->getOmnireceiptGateway()->receiptFactory(
$this,
$parameters['receipt'] ?? [],
array_merge(
$parameters['receipt_item'] ?? [],
['amount' => $amount, 'currency' => $balance->currency->value],
),
);
$receipt->operation_uuid = $operationUuid;
$receipt->saveOrFail();
}
Expand All @@ -436,7 +443,7 @@ final public function createPayment(
'amount' => $amount,
'currency' => $balance->currency->value,
'returnUrl' => $omnipayGateway->getReturnUrl(array_merge(
$returnRouteParameters,
$parameters['return_route'] ?? [],
['operation_uuid' => $operationUuid],
)),
'transactionId' => $operation->operation_uuid,
Expand Down

0 comments on commit 8cbe43e

Please sign in to comment.