From 21d833b1224e426286609172d45398240bd6e19a Mon Sep 17 00:00:00 2001 From: vagrant Date: Sat, 16 Nov 2019 13:13:11 +0000 Subject: [PATCH 1/2] Update fork --- .travis.yml | 0 Action/Api/CreateChargeAction.php | 0 Action/Api/CreateCustomerAction.php | 0 Action/Api/CreatePlanAction.php | 0 Action/Api/CreateSubscriptionAction.php | 0 Action/Api/CreateTokenAction.php | 0 Action/Api/CreateTokenForCreditCardAction.php | 0 Action/Api/ObtainTokenAction.php | 0 Action/Api/ObtainTokenForCreditCardAction.php | 0 Action/CaptureAction.php | 0 Action/ConvertPaymentAction.php | 0 Action/GetCreditCardTokenAction.php | 0 Action/StatusAction.php | 0 CHANGELOG.md | 0 Constants.php | 0 Extension/CreateCustomerExtension.php | 0 Keys.php | 0 LICENSE | 0 README.md | 0 Request/Api/CreateCharge.php | 0 Request/Api/CreateCustomer.php | 0 Request/Api/CreatePlan.php | 0 Request/Api/CreateSubscription.php | 0 Request/Api/CreateToken.php | 0 Request/Api/CreateTokenForCreditCard.php | 0 Request/Api/ObtainToken.php | 0 Resources/docs/index.md | 0 Resources/views/Action/obtain_checkout_token.html.twig | 0 Resources/views/Action/obtain_js_token.html.twig | 0 StripeCheckoutGatewayFactory.php | 0 StripeDirectGatewayFactory.php | 0 StripeJsGatewayFactory.php | 0 Tests/Action/Api/CreateChargeActionTest.php | 0 Tests/Action/Api/CreateCustomerActionTest.php | 0 Tests/Action/Api/CreatePlanActionTest.php | 0 Tests/Action/Api/ObtainTokenActionTest.php | 0 Tests/Action/CaptureActionTest.php | 0 Tests/Action/ConvertPaymentActionTest.php | 0 Tests/Action/GetCreditCardTokenActionTest.php | 0 Tests/Action/StatusActionTest.php | 0 Tests/Extension/CreateCustomerExtensionTest.php | 0 Tests/Functional/Resources/Views/ObtainTokenTemplateTest.php | 0 Tests/KeysTest.php | 0 Tests/Request/Api/CreateChargeTest.php | 0 Tests/Request/Api/CreateCustomerTest.php | 0 Tests/Request/Api/CreatePlanTest.php | 0 Tests/Request/Api/ObtainTokenTest.php | 0 Tests/StripeCheckoutGatewayFactoryTest.php | 0 Tests/StripeJsGatewayFactoryTest.php | 0 Tests/bootstrap.php | 0 UPGRADE.md | 0 composer.json | 0 phpunit.xml.dist | 0 53 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 .travis.yml mode change 100644 => 100755 Action/Api/CreateChargeAction.php mode change 100644 => 100755 Action/Api/CreateCustomerAction.php mode change 100644 => 100755 Action/Api/CreatePlanAction.php mode change 100644 => 100755 Action/Api/CreateSubscriptionAction.php mode change 100644 => 100755 Action/Api/CreateTokenAction.php mode change 100644 => 100755 Action/Api/CreateTokenForCreditCardAction.php mode change 100644 => 100755 Action/Api/ObtainTokenAction.php mode change 100644 => 100755 Action/Api/ObtainTokenForCreditCardAction.php mode change 100644 => 100755 Action/CaptureAction.php mode change 100644 => 100755 Action/ConvertPaymentAction.php mode change 100644 => 100755 Action/GetCreditCardTokenAction.php mode change 100644 => 100755 Action/StatusAction.php mode change 100644 => 100755 CHANGELOG.md mode change 100644 => 100755 Constants.php mode change 100644 => 100755 Extension/CreateCustomerExtension.php mode change 100644 => 100755 Keys.php mode change 100644 => 100755 LICENSE mode change 100644 => 100755 README.md mode change 100644 => 100755 Request/Api/CreateCharge.php mode change 100644 => 100755 Request/Api/CreateCustomer.php mode change 100644 => 100755 Request/Api/CreatePlan.php mode change 100644 => 100755 Request/Api/CreateSubscription.php mode change 100644 => 100755 Request/Api/CreateToken.php mode change 100644 => 100755 Request/Api/CreateTokenForCreditCard.php mode change 100644 => 100755 Request/Api/ObtainToken.php mode change 100644 => 100755 Resources/docs/index.md mode change 100644 => 100755 Resources/views/Action/obtain_checkout_token.html.twig mode change 100644 => 100755 Resources/views/Action/obtain_js_token.html.twig mode change 100644 => 100755 StripeCheckoutGatewayFactory.php mode change 100644 => 100755 StripeDirectGatewayFactory.php mode change 100644 => 100755 StripeJsGatewayFactory.php mode change 100644 => 100755 Tests/Action/Api/CreateChargeActionTest.php mode change 100644 => 100755 Tests/Action/Api/CreateCustomerActionTest.php mode change 100644 => 100755 Tests/Action/Api/CreatePlanActionTest.php mode change 100644 => 100755 Tests/Action/Api/ObtainTokenActionTest.php mode change 100644 => 100755 Tests/Action/CaptureActionTest.php mode change 100644 => 100755 Tests/Action/ConvertPaymentActionTest.php mode change 100644 => 100755 Tests/Action/GetCreditCardTokenActionTest.php mode change 100644 => 100755 Tests/Action/StatusActionTest.php mode change 100644 => 100755 Tests/Extension/CreateCustomerExtensionTest.php mode change 100644 => 100755 Tests/Functional/Resources/Views/ObtainTokenTemplateTest.php mode change 100644 => 100755 Tests/KeysTest.php mode change 100644 => 100755 Tests/Request/Api/CreateChargeTest.php mode change 100644 => 100755 Tests/Request/Api/CreateCustomerTest.php mode change 100644 => 100755 Tests/Request/Api/CreatePlanTest.php mode change 100644 => 100755 Tests/Request/Api/ObtainTokenTest.php mode change 100644 => 100755 Tests/StripeCheckoutGatewayFactoryTest.php mode change 100644 => 100755 Tests/StripeJsGatewayFactoryTest.php mode change 100644 => 100755 Tests/bootstrap.php mode change 100644 => 100755 UPGRADE.md mode change 100644 => 100755 composer.json mode change 100644 => 100755 phpunit.xml.dist diff --git a/.travis.yml b/.travis.yml old mode 100644 new mode 100755 diff --git a/Action/Api/CreateChargeAction.php b/Action/Api/CreateChargeAction.php old mode 100644 new mode 100755 diff --git a/Action/Api/CreateCustomerAction.php b/Action/Api/CreateCustomerAction.php old mode 100644 new mode 100755 diff --git a/Action/Api/CreatePlanAction.php b/Action/Api/CreatePlanAction.php old mode 100644 new mode 100755 diff --git a/Action/Api/CreateSubscriptionAction.php b/Action/Api/CreateSubscriptionAction.php old mode 100644 new mode 100755 diff --git a/Action/Api/CreateTokenAction.php b/Action/Api/CreateTokenAction.php old mode 100644 new mode 100755 diff --git a/Action/Api/CreateTokenForCreditCardAction.php b/Action/Api/CreateTokenForCreditCardAction.php old mode 100644 new mode 100755 diff --git a/Action/Api/ObtainTokenAction.php b/Action/Api/ObtainTokenAction.php old mode 100644 new mode 100755 diff --git a/Action/Api/ObtainTokenForCreditCardAction.php b/Action/Api/ObtainTokenForCreditCardAction.php old mode 100644 new mode 100755 diff --git a/Action/CaptureAction.php b/Action/CaptureAction.php old mode 100644 new mode 100755 diff --git a/Action/ConvertPaymentAction.php b/Action/ConvertPaymentAction.php old mode 100644 new mode 100755 diff --git a/Action/GetCreditCardTokenAction.php b/Action/GetCreditCardTokenAction.php old mode 100644 new mode 100755 diff --git a/Action/StatusAction.php b/Action/StatusAction.php old mode 100644 new mode 100755 diff --git a/CHANGELOG.md b/CHANGELOG.md old mode 100644 new mode 100755 diff --git a/Constants.php b/Constants.php old mode 100644 new mode 100755 diff --git a/Extension/CreateCustomerExtension.php b/Extension/CreateCustomerExtension.php old mode 100644 new mode 100755 diff --git a/Keys.php b/Keys.php old mode 100644 new mode 100755 diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/Request/Api/CreateCharge.php b/Request/Api/CreateCharge.php old mode 100644 new mode 100755 diff --git a/Request/Api/CreateCustomer.php b/Request/Api/CreateCustomer.php old mode 100644 new mode 100755 diff --git a/Request/Api/CreatePlan.php b/Request/Api/CreatePlan.php old mode 100644 new mode 100755 diff --git a/Request/Api/CreateSubscription.php b/Request/Api/CreateSubscription.php old mode 100644 new mode 100755 diff --git a/Request/Api/CreateToken.php b/Request/Api/CreateToken.php old mode 100644 new mode 100755 diff --git a/Request/Api/CreateTokenForCreditCard.php b/Request/Api/CreateTokenForCreditCard.php old mode 100644 new mode 100755 diff --git a/Request/Api/ObtainToken.php b/Request/Api/ObtainToken.php old mode 100644 new mode 100755 diff --git a/Resources/docs/index.md b/Resources/docs/index.md old mode 100644 new mode 100755 diff --git a/Resources/views/Action/obtain_checkout_token.html.twig b/Resources/views/Action/obtain_checkout_token.html.twig old mode 100644 new mode 100755 diff --git a/Resources/views/Action/obtain_js_token.html.twig b/Resources/views/Action/obtain_js_token.html.twig old mode 100644 new mode 100755 diff --git a/StripeCheckoutGatewayFactory.php b/StripeCheckoutGatewayFactory.php old mode 100644 new mode 100755 diff --git a/StripeDirectGatewayFactory.php b/StripeDirectGatewayFactory.php old mode 100644 new mode 100755 diff --git a/StripeJsGatewayFactory.php b/StripeJsGatewayFactory.php old mode 100644 new mode 100755 diff --git a/Tests/Action/Api/CreateChargeActionTest.php b/Tests/Action/Api/CreateChargeActionTest.php old mode 100644 new mode 100755 diff --git a/Tests/Action/Api/CreateCustomerActionTest.php b/Tests/Action/Api/CreateCustomerActionTest.php old mode 100644 new mode 100755 diff --git a/Tests/Action/Api/CreatePlanActionTest.php b/Tests/Action/Api/CreatePlanActionTest.php old mode 100644 new mode 100755 diff --git a/Tests/Action/Api/ObtainTokenActionTest.php b/Tests/Action/Api/ObtainTokenActionTest.php old mode 100644 new mode 100755 diff --git a/Tests/Action/CaptureActionTest.php b/Tests/Action/CaptureActionTest.php old mode 100644 new mode 100755 diff --git a/Tests/Action/ConvertPaymentActionTest.php b/Tests/Action/ConvertPaymentActionTest.php old mode 100644 new mode 100755 diff --git a/Tests/Action/GetCreditCardTokenActionTest.php b/Tests/Action/GetCreditCardTokenActionTest.php old mode 100644 new mode 100755 diff --git a/Tests/Action/StatusActionTest.php b/Tests/Action/StatusActionTest.php old mode 100644 new mode 100755 diff --git a/Tests/Extension/CreateCustomerExtensionTest.php b/Tests/Extension/CreateCustomerExtensionTest.php old mode 100644 new mode 100755 diff --git a/Tests/Functional/Resources/Views/ObtainTokenTemplateTest.php b/Tests/Functional/Resources/Views/ObtainTokenTemplateTest.php old mode 100644 new mode 100755 diff --git a/Tests/KeysTest.php b/Tests/KeysTest.php old mode 100644 new mode 100755 diff --git a/Tests/Request/Api/CreateChargeTest.php b/Tests/Request/Api/CreateChargeTest.php old mode 100644 new mode 100755 diff --git a/Tests/Request/Api/CreateCustomerTest.php b/Tests/Request/Api/CreateCustomerTest.php old mode 100644 new mode 100755 diff --git a/Tests/Request/Api/CreatePlanTest.php b/Tests/Request/Api/CreatePlanTest.php old mode 100644 new mode 100755 diff --git a/Tests/Request/Api/ObtainTokenTest.php b/Tests/Request/Api/ObtainTokenTest.php old mode 100644 new mode 100755 diff --git a/Tests/StripeCheckoutGatewayFactoryTest.php b/Tests/StripeCheckoutGatewayFactoryTest.php old mode 100644 new mode 100755 diff --git a/Tests/StripeJsGatewayFactoryTest.php b/Tests/StripeJsGatewayFactoryTest.php old mode 100644 new mode 100755 diff --git a/Tests/bootstrap.php b/Tests/bootstrap.php old mode 100644 new mode 100755 diff --git a/UPGRADE.md b/UPGRADE.md old mode 100644 new mode 100755 diff --git a/composer.json b/composer.json old mode 100644 new mode 100755 diff --git a/phpunit.xml.dist b/phpunit.xml.dist old mode 100644 new mode 100755 From 4f168d31432cd6c16db04ee3528a1d0d9746bc16 Mon Sep 17 00:00:00 2001 From: vagrant Date: Mon, 18 Nov 2019 04:54:28 +0000 Subject: [PATCH 2/2] Add CreateProductAction --- Action/Api/CreateProductAction.php | 82 ++++++++++++++++++++++++++++++ Request/Api/CreateProduct.php | 8 +++ StripeCheckoutGatewayFactory.php | 2 + 3 files changed, 92 insertions(+) create mode 100755 Action/Api/CreateProductAction.php create mode 100755 Request/Api/CreateProduct.php diff --git a/Action/Api/CreateProductAction.php b/Action/Api/CreateProductAction.php new file mode 100755 index 0000000..fa9ff83 --- /dev/null +++ b/Action/Api/CreateProductAction.php @@ -0,0 +1,82 @@ +api + * + * @var Keys + */ + protected $keys; + + public function __construct() + { + $this->apiClass = Keys::class; + } + + /** + * {@inheritDoc} + */ + public function setApi($api) + { + $this->_setApi($api); + + // BC. will be removed in 2.x + $this->keys = $this->api; + } + + /** + * {@inheritDoc} + */ + public function execute($request) + { + /** @var $request CreatePlan */ + RequestNotSupportedException::assertSupports($this, $request); + + $model = ArrayObject::ensureArrayObject($request->getModel()); + + try { + Stripe::setApiKey($this->keys->getSecretKey()); + + $product = Product::create($model->toUnsafeArrayWithoutLocal()); + + $model->replace($plan->__toArray(true)); + } catch (Error\Base $e) { + $model->replace($e->getJsonBody()); + } + } + + /** + * {@inheritDoc} + */ + public function supports($request) + { + return + $request instanceof CreateProduct && + $request->getModel() instanceof \ArrayAccess + ; + } +} diff --git a/Request/Api/CreateProduct.php b/Request/Api/CreateProduct.php new file mode 100755 index 0000000..f26126b --- /dev/null +++ b/Request/Api/CreateProduct.php @@ -0,0 +1,8 @@ + new CreateSubscriptionAction(), 'payum.extension.create_customer' => new CreateCustomerExtension(), + + 'payum.action.create_product' => new CreateProductAction(), ]); if (false == $config['payum.api']) {