2010-07-08 8 views
1

Note: Notre site est construit en PHP et utilise des bases de données MySQL. Je gère déjà un autre site avec le panier dans son intégralité en utilisant Authorize.net alors s'il vous plaît ne répondez pas avec des suggestions pour utiliser un autre fournisseur. Un nouveau produit/service que nous publions est classé comme «risque élevé» pour les fournisseurs marchands et ils veulent nous facturer le **. En réponse, je me suis dit mettre en place un paiement sur site compte standard sur Paypal.com était la meilleure alternative pour les raisons suivantes:Quelqu'un at-il déjà utilisé PayPal Paypal Standard avec des variables SESSION?

1) sans frais mensuels, ne payez que pour ce qui est utilisé

2) marque de confiance et les gens sont à l'aise avec Paypal

Les taux sont un peu plus élevés que ce à quoi nous sommes habitués, mais tout compte marchand à haut risque n'est pas pertinent. Le problème que je rencontre est:

1) tout au long du processus d'enregistrement sur notre site, nous recueillons un peu d'informations sur les utilisateurs et les transmettons de page en page en utilisant les variables SESSION. Lorsque vous utilisez la fonctionnalité Paiements sur site marchands, vous êtes obligé de transférer le consommateur vers une page Web appartenant à Paypal pour soumettre ses informations de paiement. Après avoir réussi, ils sont capables de les rediriger vers une page de «confirmation» sur notre site, mais je crois comprendre qu'il n'y a AUCUN moyen de garder intactes les anciennes variables SESSION. Ceci est très important pour nous parce que le concept global est de stocker les variables SESSION seulement après le paiement réussi. 2) En utilisant la norme Paiements sur site marchand, je n'arrive pas à trouver un moyen d'envoyer une variable Paye-Montant (tout doit être dicté d'avance, c'est-à-dire que le T-shirt coûte 2,99 $). Notre site permet au consommateur de s'inscrire à plusieurs personnes et d'avoir plusieurs «add-ons» pour chaque personne, de sorte qu'il y a littéralement plus de 100 possibilités d'encaissement final. Je ne suis pas sûr s'il est possible de passer outre.

Est-ce que ANYBODY a eu de la chance en utilisant les Paiements sur Site marchands standard sur Paypal en reconnaissant les informations ci-dessus?

+0

Hey JM4, im dans la même situation que vous pas d'autre choix que d'utiliser la norme de paiement du site .. avez-vous pu résoudre ce problème, si oui, en utilisant quelle option, la réponse que vous avez choisie est-elle une option valide? – ABI

Répondre

1

1) En supposant que la session est basée sur des cookies, elle devrait toujours être là quand ils reviennent sur votre site (tant qu'ils n'ont pas fermé la fenêtre du navigateur dans le temps, ce qui est peu probable).

Si vous ne voulez vraiment pas être sûr, stockez la session dans la base de données dans une table temporaire associée à l'ID de commande que vous générez. Je crois qu'il est possible que ce (order_id) est renvoyé après que la transaction est terminée. Lire les documents sur PDT.

2) Je crois que ce n'est pas le cas. Vérifiez the docs page 250 et suivantes.

0

1.) Je suis d'accord avec Pete ci-dessus en ce que vous recherchez probablement la fonctionnalité PDT. Il semble que votre meilleur pari serait de digérer la demande envoyée à votre page de retour pour les variables PDT et de construire vos variables de session alors. 2.) Vous pouvez envoyer n'importe quelle quantité en utilisant le paramètre "amount". Here's the info on PayPal's HTML parameters

+1

Je l'ai eu avec PayPal. Leur service et leur soutien sont pathétiques. J'ai attendu deux semaines pour qu'ils évaluent le script PHP que nous avons développé pour crypter nos paiements et leurs solutions sont risibles. Non seulement ils négligent de répondre à nos problèmes réels, mais ils recommandent des choses qui vont à l'encontre de leurs propres pratiques exemplaires. – JM4

+0

vous avez entièrement raison ici. Si vous appelez pour obtenir de l'aide avec la norme de paiement Web, ils vous disent que ce que vous voulez faire n'est pas possible et que vous devez payer pour l'API du paquet de luxe ou autre. J'ai abandonné l'appel à l'aide il y a longtemps. Et leur organisation de la documentation laisse également à désirer. Eh bien bonne chance avec tout ce que vous décidez !!! – jumpdart

0

Question 2 devrait être répondu, concernant la question 1, je voudrais ajouter que vous pouvez simplement utiliser la fonctionnalité de session intégrée de PHP comme d'habitude (quel que soit le mécanisme de stockage que vous avez en place, peut-il être memcached, fichier (par défaut), base de données mysql ou autre), et passez l'identifiant de la session à paypal.Lorsque paypal vous rappelle, vous pouvez accéder à vos variables de session en utilisant session_id ($ backpassed_sessionid_from_paypal), qui charge simplement les données de session associées au ID de session que vous transmettez dans la fonction, ce qui est probablement ce que vous vouliez dire.

1

Je suis mois trop tard pour ma réponse ... mais j'ai aussi eu le même problème ... perdre des sessions et des cookies après la redirection vers l'url de retour.

Pour ceux qui seront confrontés aux mêmes problèmes, voici la solution sous la forme paypal je suis venu avec,

vous ajoutez

<input type='hidden' name='return' value='".http_dir."shop/return.php'> 
<input type='hidden' name='custom' value='$session_id'> 

où $ id_session = session_id();

et dans la boutique/return.php, j'ai testé si cela fonctionne avec

echo '<pre>'; 
print_r($_SESSION); 
echo '</pre>'; 

echo '<pre>'; 
print_r($_COOKIE); 
echo '</pre>'; 

echo '<pre>'; 
print_r($_GET); 
echo '</pre>'; 

Lorsque vous ne pas inclure le paramètre « personnalisé » sous la forme, elle retourne un tableau vide. C'est fou comment seulement deux lignes changent tout. Je pensais que j'allais répéter toute la logique du panier, oh boy.

Espérons que cela pourrait aider quelqu'un à l'avenir ... Vive ^^

Source: WPS HTML Variables