0
votes

Quelle est la meilleure façon de gérer un nouveau mode de paiement à Laravel Cashier

sauf si je manque quelque chose, je ne peux voir aucun wrapper de caissier pour fournir la création d'un paiement de paiement, cela existe-t-il?

tandis que caissier v10 a ajouté du contenu pour gérer SCA Cela ne fonctionne pas pour moi parce que je suis Manipulation des détails de paiement via un élément de fondu, rediriger vers un nouveau itinéraire est désordonné.

J'ai besoin de le gérer selon ce guide https://stripe.com/docs/payments/payment-intents/migration

Qui nécessite la création d'un paiement de paiement comme: XXX

Je peux bien sûr le faire directement à partir de la SDK SDK comme indiqué ici, mais je suis susceptible d'ajouter plus de fonctionnalités que Utilisera probablement l'utilisation des autres fonctionnalités de Caissier qu'il resterait plus propre de passer en caissier pour tout.

Puis-je créer un paiement de paiement via caissier ou a-t-il été oublié? Si c'est le cas, comment? Ou devrais-je gérer cela différemment?


0 commentaires

3 Réponses :


1
votes

Je ne suis pas un utilisateur de caissier, mais cela semble être une interface pour la facturation des rayures, elle gère donc principalement les primitives liées à la facturation. D'après ce que je peux dire, il utilise des paiements de paiement sous la hotte (pour authentifier les paiements de facturation nécessitant une authentification) mais n'expose pas directement la création du paiement.

Les Documents de caissier recommandent que votre intégration redirige vers la "page de paiement" lorsque l'authentification est requise: https://laravel.com/docs/5.8/billing#payments-requiring-additional-confirmation (pour les cas où les rémunérateurs sont dans l'état requiert_action )

Pour créer directement des paiements, la bibliothèque API Stripe-PHP serait la bonne approche.


2 commentaires

Merci d'avoir répondu, l'approche Documents Laravel de redirection ne fonctionne pas pour moi, car je gère le processus tout au long de l'avant à l'aide de l'API, c'est pourquoi j'ai besoin de l'approche de paiement de la documentation des rayures. Cependant, la caissier ne semble pas soutenir CreatePaymentintent, d'où ma question, est-ce qu'il y a toujours un moyen de le faire avec le paiement?


Ne semble pas si avec caissier, vous pouvez utiliser Stripe-PHP à la place, cela vous permettrait d'utiliser toutes les ressources à rayures, y compris la création de paiements de paiement: Stripe.com/docs/api/payment_intents/create?lang=PHP



1
votes

Après avoir étudié cela en outre, la réponse est que la méthode

Laravel\Cashier\Billable->charge($amount,$method,$options)


0 commentaires

0
votes

Étendez le trait Laravel \ Caissier \ facultable; et avaravel \ caissier \ préoccupations \ EffectsCharges; et utilisez-le au lieu du trait facturable par défaut dans le modèle utilisateur

trait CustomPerformCharges
{
    use PerformsCharges;
  
    public function authorize(int $amount): Payment
    {
        if (!$this->hasStripeId()) {
            throw new BadRequestException(__('User is not a stripe customer'));
        }
        
        $paymentMethod = $this->defaultPaymentMethod();

        $options = [
            'capture_method' => 'manual'
        ];

        return $this->charge($amount, $paymentMethod, $options);
    }


    public function capture(int $amount, string $paymentIntent): void
    {
        $intent = StripePaymentIntent::retrieve($paymentIntent, $this->stripeOptions());
        $intent->capture(['amount_to_capture' => $amount]);
    }
}


0 commentaires