Skip to content

Commit

Permalink
save mollie order ID directly after creating order in Capture action
Browse files Browse the repository at this point in the history
  • Loading branch information
David Höck committed May 8, 2020
1 parent 96e5159 commit 5ac55e4
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 15 deletions.
7 changes: 7 additions & 0 deletions src/Action/CaptureAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace CoreShop\Payum\MollieBundle\Action;

use CoreShop\Payum\MollieBundle\Action\Api\BaseApiAwareAction;
use CoreShop\Payum\MollieBundle\MollieDetails;
use Mollie\Api\Exceptions\ApiException;
use Mollie\Api\MollieApiClient;
use Payum\Core\Bridge\Spl\ArrayObject;
Expand Down Expand Up @@ -47,6 +48,12 @@ public function execute($request)

$mollieOrder = $mollie->orders->create((array)$details);

$details->replace([
MollieDetails::ORDER_ID => $mollieOrder->id,
MollieDetails::STATUS => $mollieOrder->status,
MollieDetails::MODE => $mollieOrder->mode
]);

$redirect = $mollieOrder->getCheckoutUrl();

throw new HttpRedirect($redirect);
Expand Down
15 changes: 1 addition & 14 deletions src/Action/StatusAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,20 +37,7 @@ public function execute($request)
$details[MollieDetails::IS_CANCELABLE] = $mollieOrder->isCancelable;
$details[MollieDetails::PROFILE_ID] = $mollieOrder->profileId;
$details[MollieDetails::MODE] = $mollieOrder->mode;

$lineItems = [];

/**
* @var $line OrderLine
*/
foreach ($mollieOrder->lines as $line) {
$lineItems[] = [
MollieDetails::LINE_ITEM_ID => $line->id,
MollieDetails::QUANTITY => $line->quantity
];
}

$details[MollieDetails::LINES] = $lineItems;
$details[MollieDetails::LINES] = $mollieOrder->lines;
}

$status = $details[MollieDetails::STATUS];
Expand Down
29 changes: 28 additions & 1 deletion src/DependencyInjection/Configuration.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

namespace CoreShop\Payum\MollieBundle\DependencyInjection;

use CoreShop\Component\Payment\PaymentTransitions;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;

Expand All @@ -14,6 +15,32 @@ class Configuration implements ConfigurationInterface
*/
public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder();
$treeBuilder = new TreeBuilder('coreshop_mollie');
$root = method_exists($treeBuilder, 'getRootNode') ? $treeBuilder->getRootNode() : $treeBuilder->root('coreshop_mollie');

$root
->children()
->scalarNode('api_key')->cannotBeEmpty()->end()
->arrayNode('refund_listeners')
->addDefaultsIfNotSet()
->children()
->arrayNode('coreshop_payment')
->addDefaultsIfNotSet()
->children()
->booleanNode('enabled')->defaultFalse()->cannotBeEmpty()->end()
->end()
->end()
->arrayNode('coreshop_refund_bundle')
->addDefaultsIfNotSet()
->children()
->booleanNode('enabled')->defaultFalse()->cannotBeEmpty()->end()
->end()
->end()
->end()
->end()
->end();


return $treeBuilder;
}
}

0 comments on commit 5ac55e4

Please sign in to comment.