2010-11-19 5 views
1

J'utilise l'API adaptative pour effectuer un paiement chaîné. Le code ressembleComment passer item_number à IPN lors de l'utilisation de l'appel API Adaptive Payment pour effectuer une demande de paiement sur Paypal?

ChainedPay chainedPay = nouveau ChainedPay (numberOfReceivers); // valeurs de consigne (telles que l'URL de retour, annuler url, IPN url etc pour l'objet chainedPay ....

récepteur primaryReceiver = new récepteur(); // définir la valeur du récepteur tels que la quantité, etc. ... chainedPay.setPrimaryReceiver (primaryReceiver);

récepteur REC1 = new récepteur(); // définir la valeur du second récepteur ... chainedPay.addToSecondaryReceivers (REC1);

// Faites la demande chainedPay.makeRequest(); comme ceci:

Je reçois le message IPN lorsque le paiement est approuvé. Mais je veux être capable d'envoyer une valeur comme un identificateur de transaction qui existe dans mon système dans la demande de paiement, et avoir l'IPN me le renvoyer, afin que je puisse rechercher la transaction par son identifiant dans mon ipn listener, et utiliser cette information pour fournir un bien numérique à l'utilisateur. Je ne peux pas déterminer où placer cette valeur dans la demande de paye. Avant d'utiliser l'api appel de paiement adaptatif, si je veux passer l'identifiant de transaction à l'IPN, je le placerais dans le champ item_number dans un champ sous la forme du bouton buy et qui serait transmis. Y a-t-il quelque chose de similaire dans l'API adaptative?

Merci, Tim

Répondre

0

Essayez d'utiliser le paramètre TrackingID. J'utilise la version XML et je la passe comme suit
sRequest.Append ("</trackingId>");
sRequest.Append (trackingID);
sRequest.Append ("</trackingId>"); Vous pouvez obtenir une propriété en tant qu'ID de suivi dans la classe PayRequest.

+0

Cela fonctionnera mais vous ne pouvez avoir qu'une seule transaction avec ce 'trackingId' spécifique. Gardez cela en tête. – raidfive

0

Je passe le orderId via le champ TrackingID dans le PayRequest

Ex: PayRequest payRequest = new PayRequest (requestEnvelope, actionType, CancelURL, currencyCode, receiverList, returnUrl); payRequest.ipnNotificationUrl = System.Configuration.ConfigurationManager.AppSettings ["PaypalNotifyUrl"]; payRequest.trackingId = orderId.ToString();

Ensuite, dans le gestionnaire IPN, je le récupère de l'objet Request.