Puis-je modifier une commande et conserver les informations de paiement?


12

J'ai un client qui a commandé 5 produits, mais 2 sont en rupture de stock et ne peuvent pas exécuter la commande complète. Cependant, lorsque je modifie la commande (la supprime et en crée une nouvelle) pour supprimer les deux SKU, les informations de carte de crédit sont supprimées. Existe-t-il un moyen de conserver cela afin que je n'ai pas besoin d'appeler le client?


1
Ça dépend. Que souhaitez-vous accomplir exactement (par exemple, facturer au client la nouvelle commande)?
benmarks

Précisément. J'ai informé le client et il est au courant de l'ajustement, mais je ne veux pas non plus lui demander de ressaisir sa carte bancaire. J'utilise auth.net
kevando

1
Est-ce que l'exécution d'une note de crédit / remboursement en ligne pour les articles en rupture de stock n'est pas une option?
pspahn

Si vous avez seulement autorisé (ce que vous devriez faire), de nombreuses passerelles vous permettront de présenter un montant différent pour la capture qui est inférieur au montant autorisé.
benmarks

J'ai développé une extension qui copie les données de commande entières dans la nouvelle. Je vais le mettre dans github et le partager pour l'améliorer.
Eduardo Luz

Réponses:


7

Dans le scénario donné, vous supprimez des éléments que vous ne pouvez pas remplir. Étant donné que vous utilisez Authorize.net, vous devriez pouvoir émettre une note de crédit à partir des éléments de ligne sur la facture de la commande pour rembourser les frais pour ces éléments de ligne spécifiques, puis expédier les articles restants.

S'il s'agissait d'un cas où vous devez modifier ou ajouter des articles à la commande, vous devrez utiliser l'une des implémentations CIM tierces ou le pont de paiement EE (en supposant que vous êtes sur Enterprise).


En fait, cette réponse suppose que la commande complète a été facturée ... vous ne devez pas avoir de note de crédit si vous n'avez pas facturé, faites simplement une capture partielle (émettez une facture uniquement pour les deux articles + expédition)
mprototype

6

Vous devez utiliser une passerelle de paiement comme Braintree, authorize.net avec l'option CIM (Customer Information Manager) ou une autre passerelle qui stocke un jeton de paiement dans Magento et un jeton sur la passerelle, puis stocke les informations de carte de crédit du client sur la passerelle niveau. Sans cela, il est impossible de capturer plus de fonds que le client ne l'autorise lors de la transaction initiale. Le stockage des informations de carte de crédit vous-même est une violation de la conformité PCI, sauf si vous passez par une certification PA-DSS rigoureuse qui est très coûteuse.

Braintree a une extension de passerelle de paiement gratuite disponible pour Magento. Je n'ai pas vérifié la version récente mais nous avons dû corriger plusieurs bugs dans les versions précédentes. Cela fonctionne assez bien après quelques corrections de bugs.

Il existe quelques extensions de passerelle de paiement pour Auth.net CIM. J'ai utilisé http://www.magentocommerce.com/magento-connect/idp-authorizecim-2-1-payment-module.html dans le passé. On dirait qu'il y en a quelques nouveaux maintenant. Éloignez-vous du Silver Touch One bon marché, il a l'air effrayant.

Ping moi si tu veux essayer Braintree et remarque que c'est buggy. Je peux vous envoyer du code récent depuis l'un de nos repos.


3

C'est un problème vraiment simple à résoudre:

Prenez note que dans l'administration Magento, vous pouvez créer plusieurs FACTURES pour une commande. Si votre configuration est correctement définie, vous ne pouvez facturer que les produits disponibles. Lorsque vous créez une facture, vous choisissez les articles que vous souhaitez capturer et Magento effectue la capture partielle.

De même, vous pouvez gérer plusieurs envois par commande.

Bien sûr, tout cela peut également être fait par programme.

$service = Mage::getModel('sales/service_order', $order);
$service->prepareInvoice( array( 'qty' => 'sku' ) );

Nous avons déjà géré cela via auth.net, mais j'aimerais penser que cela fonctionnera si le problème se reproduit!
kevando

La plupart des passerelles détiennent des authentifications jusqu'à 60 jours et vous pouvez capturer partiellement plusieurs fois jusqu'à ce que le total d'authentification soit atteint ... c'est exactement le problème que le flux de travail d'authentification / capture de passerelle de paiement commun a été conçu pour gérer. Magento a été construit en conséquence.
mprototype

1
J'avais l'impression qu'Autorize.net détenait des captures pendant cinq jours. Et "Magento étant construit en conséquence" ne devrait probablement pas s'appliquer à 100% du temps à "Magento". 1.7x a apporté des améliorations majeures aux passerelles de paiement natives, et il reste encore des améliorations à apporter. Les différences entre 1,6x et 1,7x sont suffisantes pour suggérer YMMV.
pspahn

C'est vraiment simple, la capture sur une demande d'autorisation existante sur la plupart des passerelles ne supprime pas l'authentification de la passerelle à moins que la capture soit pour le montant total de l'authentification. Vous ne pouvez pas capturer plus que le montant d'authentification. Magento a eu plusieurs factures par commande depuis environ 1,3, peut-être tôt ... Je ne suis pas sûr ... mais c'est un domaine de demandes de transaction que j'ai trouvé beaucoup de développeurs (même sur les passerelles elles-mêmes) ne sont pas très clairs sur le flux de travail pour les demandes d'api.
mprototype

Paypal permet jusqu'à 29 jours et jusqu'à 115% de l'authentification initiale plafonnée à 75 $. Les autorisations Braintree tombent à 7 jours pour AMEX, 10 jours pour Visa et Mastercard, les autres autorisations seront marquées comme expirées après 30 jours. Braintree permet un pseudo-stockage d'une carte à jetons dans un `` coffre-fort '' local dans son extension Magento, bien qu'une ré-authentification étendue / ou non-voûtée ne soit pas possible actuellement. articles.braintreepayments.com/control-panel/transactions/…
Joshua Chavanne

2

Évitez de stocker les données de paiement si vous le pouvez - cela n'en vaut pas la peine. Vous devrez mettre des contrôles PCI autour de lui, ce qui coûtera de l'argent. Et si vous ne le protégez pas correctement et ne vous faites pas pirater - cela arrive BEAUCOUP - alors vos coûts PCI ne ressemblent à rien par rapport aux coûts de traitement d'une violation.

Alors - découvrez si votre passerelle de paiement peut vous aider. Quelques bonnes réponses ci-dessus. Mon conseil est de ne pas stocker les données de paiement - cela ne vaut pas la peine.


1

Nous avons développé une extension pour la facilité de paiement partiel. Il permet à votre client de percevoir un paiement partiel pour les services de produits. Le client percevra le reste du montant sur / avant l'expédition. L'extension de paiement partielle permet aux clients d'acheter votre produit dans votre boutique en ligne en ne payant qu'une petite quantité du prix du produit.Le client peut payer le montant restant en plusieurs versements, comme défini par l'administrateur.

Fonctionnalités:

Administrateur: -

  • L'administrateur peut définir l'étiquette du produit sur cette extension en fonction du fait qu'elle sera affichée sur le front-end.
  • Le paiement partiel peut être configuré comme facultatif ou obligatoire.
  • L'administrateur peut définir un montant fixe ou un pourcentage à payer par le client lors de l'achat de produits dans votre magasin.
  • Le paiement partiel peut s'appliquer à tous les produits, produits sélectionnés, produits en rupture de stock ou même sur le panier entier.
  • L'administrateur peut définir une limite de crédit pour les clients. Ce montant de crédit sera le montant maximum pour le client en tant que versement restant.

Pour une description complète et des fonctionnalités, visitez notre magasin d'extensions magento:

Site Web indieswebs.com pour la facilité de paiement partiel

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.