Path Custom data to stripe.js
I have three subscription courses, so I made three button as such.
index.html.twig
<form action="{{ path('acme_payment_charge') }}" method="POST">
<input type="hidden" name="plan" value="basic"><!-- I wish it works.-->
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_FpfPjy1etetetetetete"
data-amount="2980"
data-name="basic"
data-description="TESTTEST"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-locale="ja"
data-currency="jpy">
</script>
<form action="{{ path('acme_payment_charge') }}" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_FpfPjy1etetetetetete"
data-amount="2980"
data-name="standard"
data-description="TESTTEST"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-locale="ja"
data-currency="jpy">
</script>
<form action="{{ path('acme_payment_charge') }}" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_FpfPjy1eRtetetetetete"
data-amount="2980"
data-name="professional"
data-description="TESTTEST"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-locale="ja">
data-currency="jpy">
</script>
I catch the Request here in php, but I would like to know which button is selected.
Is it possible to send custom data via stripe.js??
(Or if I could get data-name
which passed from index.html.twig to script.js in php.)
DefaultController.php
public function chargeAction(Request $request){
var_dump($request) // there is not either 'basic','standard' nor 'professional'.
//only 'stripeToken','stripeTokenType','stripeEmail' are returned.
\Stripe\Stripe::setApiKey("sk_test_Xltetetetetete");
$token = $request->request->get('stripeToken');
$customer = \Stripe\Customer::create(array(
"email" => $request->request->get('stripeEmail'),
"source" => $request->request->get('stripeToken'),
"plan" => "professional" // I want to change here dynamically.
));