jalendport / craft-stripecheckout Goto Github PK
View Code? Open in Web Editor NEWBringing the power of Stripe Checkout to your Craft templates.
License: MIT License
Bringing the power of Stripe Checkout to your Craft templates.
License: MIT License
@lukeyouell would it be easy enough to include additional options in the \Stripe\Charge::create()
request, we are looking to add support for Stripe's connected accounts and would just need to pass the account id and optional application fee:
$charge = \Stripe\Charge::create(array(
"amount" => 1000,
"currency" => "usd",
"source" => "tok_visa",
"application_fee" => 123,
), array("stripe_account" => "{CONNECTED_STRIPE_ACCOUNT_ID}"));
Was about to start work on a plugin to handle all this but it looks like you have most things covered here :)
Thanks
Hello!
Just noticed a response error on the rastrickbowlingclub.co.uk site...
{"error":"Return value of lukeyouell\stripecheckout\elements\Charge::getTableAttributeHtml() must be of the type string, null returned"}
Hope you're ok,
P
Hello! I am testing Stripe Connect in a local dev environment with the following template code:
{% extends '_/layouts/purchase' %}
{% block content %}
<form action="" method="post">
{{ csrfInput() }}
{{ redirectInput('purchase/success') }}
<input type="hidden" name="action" value="stripe-checkout/charge">
{{ checkout({
amount: 500
}) }}
</form>
{% endblock content %}
This code will render the default Stripe "Pay With Card" button. When I click that button, I receive a 400 error:
yii\web\BadRequestHttpException: Request missing required body param in /home/vagrant/sites/clients/wine30nyc.craft3.com/vendor/craftcms/cms/src/web/Request.php:590
Stack trace:
#0 /home/vagrant/sites/clients/wine30nyc.craft3.com/vendor/lukeyouell/craft-stripecheckout/src/controllers/ChargeController.php(37): craft\web\Request->getRequiredBodyParam('stripeToken')
#1 [internal function]: lukeyouell\stripecheckout\controllers\ChargeController->actionIndex()
#2 /home/vagrant/sites/clients/wine30nyc.craft3.com/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)
#3 /home/vagrant/sites/clients/wine30nyc.craft3.com/vendor/yiisoft/yii2/base/Controller.php(157): yii\base\InlineAction->runWithParams(Array)
#4 /home/vagrant/sites/clients/wine30nyc.craft3.com/vendor/craftcms/cms/src/web/Controller.php(104): yii\base\Controller->runAction('', Array)
#5 /home/vagrant/sites/clients/wine30nyc.craft3.com/vendor/yiisoft/yii2/base/Module.php(528): craft\web\Controller->runAction('', Array)
#6 /home/vagrant/sites/clients/wine30nyc.craft3.com/vendor/craftcms/cms/src/web/Application.php(282): yii\base\Module->runAction('stripe-checkout...', Array)
#7 /home/vagrant/sites/clients/wine30nyc.craft3.com/vendor/craftcms/cms/src/web/Application.php(542): craft\web\Application->runAction('stripe-checkout...', Array)
#8 /home/vagrant/sites/clients/wine30nyc.craft3.com/vendor/craftcms/cms/src/web/Application.php(266): craft\web\Application->_processActionRequest(Object(craft\web\Request))
#9 /home/vagrant/sites/clients/wine30nyc.craft3.com/vendor/yiisoft/yii2/base/Application.php(386): craft\web\Application->handleRequest(Object(craft\web\Request))
#10 /home/vagrant/sites/clients/wine30nyc.craft3.com/web/index.php(21): yii\base\Application->run()
#11 {main}
I have double-checked my Stripe API keys and have both the test and live keys correctly entered. Any thoughts? Thanks!
Got this mail, indicating some required changes to keep this plugin working in the EU in the near future:
Hi there,
In September, the European Union will be introducing rules requiring Strong Customer Authentication (SCA) for many online transactions as part of PSD2 regulation.
Our information shows that your business will be impacted by SCA and that you’ll need to make changes to your Stripe integration to become compliant. Transactions that don’t meet the new SCA requirements may be declined by your customers’ banks.
Stripe has built a new Payments API—PaymentIntents—to get European customers ready for these rule changes. PaymentIntents is designed to recognize when the new SCA rules apply and to trigger any required authentication.
You can learn more in our guide on SCA and read the docs to get started integrating this new SCA-ready payments API.
Are there any plans in achieving this?
Hi,
I see this plugin hasn't received any updates in a couple of years. Can you please tell me if you plan to support Craft 4 and PHP8?
Just wondering if it's possible to customize the popup window that collects the credit card info, or potentially incorporate those fields into a larger checkout form.
Do you know if there is a way to update (dynamically with js) amount to be charged?
I tried to update data-amount on script element but it doesn't seem to work. Any idea would be appreciated. And thanks for great plugin!
Can I take recurring monthly subscriptions?
Hey so I see that there are two (undocumented) events, EVENT_BEFORE_CHARGE
and EVENT_AFTER_CHARGE
. I was wondering if it was possible to cancel the charge / prevent it from happening inside a EVENT_BEFORE_CHARGE
event handler? For example, I would like to calculate the price of what the user is buying server-side so it's tamper-proof but if it's wrong (i.e. the charge is of a different amount for some reason), it would be nice to be able to stop it. Not sure if that makes sense. :)
Hi,
How do I go about using a custom form with the following fields:
Thanks
When I click on Stripe Checkout in my Craft 3 admin, I get this error. It's looking for the wrong table name. I checked the database, and the transactions are in it, but the table name it should be looking for is 'uislthd_crafty.craft_stripecheckout_charges', and not 'uislthd_crafty.stripecheckout_charges'
Internal Server Error
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'uislthd_crafty.stripecheckout_charges' doesn't exist The SQL being executed was: SELECT * FROM stripecheckout_charges ORDER BY dateCreated DESC
On the credentials page of the stripe plugin in craft 3, the live secret key field is always the same as the publishable key field. It doesn't matter what is filled in in the live sk field, it is always the same as the live pk field.
I reinstalled the plugin, filled out all the credential fields correctly but this didn't fix it according to what was visible on the credential page. Although the value is probably in the database because a transaction was correctly executed after this reinstallation.
I discovered that this plugin sends Stripe email receipts to customers (due to passing the receipt_email
parameter). It would be nice if this could be made optional.
Hey there. Perfectly happy with the way the plugin works with Stripe Checkout but having this blue button is not an option on this project. Is there a relatively easy way to use the custom checkout JS to have a custom button ?
I cannot for the life of me figure out how to pass everything your plugin needs to it with the custom JS provided by Stripe
This is my first simple e-commerce project so forgive me if I am a bit of a noob.
Hey, i thing the plugin needs an update, i was working with it and i got this error:
yii\base\ErrorException: array_key_exists(): Using array_key_exists() on objects is deprecated. Use isset() or property_exists() instead in /myroot/vendor/stripe/stripe-php/lib/ApiRequestor.php:402
array_key_exists() is deprecated in PHP 7.4 so the plugin breaks, i had to change array_key_exist() for isset(), but this function was especting a second parameter, the only way i made it work was deleting 'request-id' parameter.
Do you have an other solution? Thanks!
Hey!
Just wondering if there's anything on the roadmap for pdf receipts - much like how Commerce handles them? The Stripe receipts whilst good, are super basic, so it would be nice to be able to use a template for each charge so it could be sent to customer.
I got this error message after completing a test payment.
Guessing it's because I don't have HTTPS enabled on my staging server, but what else could it be?
Nice plugin btw :)
Hi,
My form includes a field for customer name and I have confirmed that it is being passed to the charge options array, yet it shows up with customer email once the charge is posted, on both Stripe and in the plugin's data in Craft.
Is this a bug or something done on purpose? Makes it very difficult to reconcile charges with actual users.
Thanks!
It seems like all the config settings of this plugin would be good candidates for Craft 3.1's environmental settings feature: https://docs.craftcms.com/v3/extend/environmental-settings.html
That would make it possible to use environment variables for them directly within the CP. It's possible right now by overriding the saved settings with a config/stripe-checkout.php
file, but that's causing issues with project config, where saving the settings form in the CP writes the secret key in project.yaml and in the database.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.