Bonjour,
J'ai suivi le tutoriel de stripe mais j'ai vu sur l'api de stripe qu'il y a une version 3
Est ce que quelqu'un a reussi a l'utiliser
Et si vous avez un exemples qui utilise les plan et les webhook
merci a vous
il est vachement bien fais mais je comprend rien a comment utiliser le tok custumers pour faire des charge ou submition
Il est beaucoup trop complet pour des utilisateurs qui cherche juste à faire des choses simples je trouve.
J'ai galerer mais j'ai finalement réussi, disons que le tutoriel est obsolète dans le sens ou on n'utilise plus subscription mais charge
Hello,
Il n'y a rien de bien sorcier.
Commence par poster ton code, même si il ne marche pas, afin que l'on t'aide ;)
En gros j'ai utiliser l'exemple de stripe
HTML:
<script src="https://js.stripe.com/v3/"></script>
<form>
<label>
<input name="cardholder-name" class="field is-empty" placeholder="Jane Doe" />
<span><span>Name</span></span>
</label>
<label>
<input class="field is-empty" type="tel" placeholder="(123) 456-7890" />
<span><span>Phone</span></span>
</label>
<label>
<div id="card-element" class="field is-empty"></div>
<span><span>Card</span></span>
</label>
<button type="submit">Pay $25</button>
<div class="outcome">
<div class="error" role="alert"></div>
<div class="success">
Success! Your Stripe token is <span class="token"></span>
</div>
</div>
</form>
JS:
var stripe = Stripe('pk_test_...');
var elements = stripe.elements();
var card = elements.create('card', {
iconStyle: 'solid',
style: {
base: {
iconColor: '#8898AA',
color: 'white',
lineHeight: '36px',
fontWeight: 300,
fontFamily: '"Helvetica Neue", Helvetica, sans-serif',
fontSize: '19px',
'::placeholder': {
color: '#8898AA',
},
},
invalid: {
iconColor: '#e85746',
color: '#e85746',
}
},
classes: {
focus: 'is-focused',
empty: 'is-empty',
},
});
card.mount('#card-element');
var inputs = document.querySelectorAll('input.field');
Array.prototype.forEach.call(inputs, function(input) {
input.addEventListener('focus', function() {
input.classList.add('is-focused');
});
input.addEventListener('blur', function() {
input.classList.remove('is-focused');
});
input.addEventListener('keyup', function() {
if (input.value.length === 0) {
input.classList.add('is-empty');
} else {
input.classList.remove('is-empty');
}
});
});
function setOutcome(result) {
var successElement = document.querySelector('.success');
var errorElement = document.querySelector('.error');
successElement.classList.remove('visible');
errorElement.classList.remove('visible');
if (result.token) {
// Use the token to create a charge or a customer
// https://stripe.com/docs/charges
successElement.querySelector('.token').textContent = result.token.id;
successElement.classList.add('visible');
} else if (result.error) {
errorElement.textContent = result.error.message;
errorElement.classList.add('visible');
}
}
card.on('change', function(event) {
setOutcome(event);
});
document.querySelector('form').addEventListener('submit', function(e) {
e.preventDefault();
var form = document.querySelector('form');
var extraDetails = {
name: form.querySelector('input[name=cardholder-name]').value,
};
stripe.createToken(card, extraDetails).then(setOutcome);
});
Avec du CSS
Je revois comme eux le tok custumers
je sais qu'il faut utiliser ca mais quand je met un form avec un action le js bloque l'action donc a la fin je n'arrive pas a utiliser une fonction pour prelever ou faire un subscription
Je ne sais pas trop ou mettre le code charge par exemple
merci de ton aide
Hello,
Je viens de tester ton code et il fonctionne bien chez moi. Je me retrouve bien avec un token.
Est-ce que tu récupères bien ton token ?
Quel message d'erreur as-tu ?
non je recupere le token ce que je n'arrive pas c'est comment utiliser pour creer l'utilisateur et lui appliquer une charge par exemple
j'ai fais ca avec l'api v2
require('Stripe.php');
$stripe = new stripe('sk_test_....');
$customer = $stripe->api('customers', [
'source' => $token,
'description' => $name,
'email' => $email
]);
if($plan==1){
$charge = $stripe->api('charges', [
'amount' => 1500,
'currency' => 'eur',
'customer' => $customer->id
]);
}
if($plan==2){
$sub = $stripe->api("customers/{$customer->id}", [
'plan' => "1month",
]);
}
mais je ne sais pas ou le placer dans la v3 pour que ca marche
Ok. As-tu essayé de migrer de ton code ? Si oui, peux-tu me montrer ton code ?
As-tu essayé l'exemple "Getting Started" de la documentation pour commencer ?
Je vois que ton code PHP ne correspond pas à ton code HTML/JS. Que souhaites-tu faire exactement ?
j'ai essaye mais j'ai un probleme avec require_once('vendor/autoload.php');
j'ai inslatter composer sur mon serveur mais je n'arrive pas a l'utiliser