如何在使用自适应支付API调用在Paypal上发出付款请求时将item_number传递给IPN?

时间:2010-11-19 03:41:16

标签: paypal paypal-ipn paypal-adaptive-payments

我使用自适应api进行链式付款。代码看起来

ChainedPay chainedPay = new ChainedPay(numberOfReceivers); //为chainedPay对象设置值(例如return url,cancel url,ipn url等) ....

Receiver primaryReceiver = new Receiver(); //设置接收者的数量,如金额等。 ... chainedPay.setPrimaryReceiver(primaryReceiver);

Receiver rec1 = new Receiver(); //设置第二个接收者的值 ... chainedPay.addToSecondaryReceivers(REC1);

//发出请求 chainedPay.makeRequest();像这样:

付款获批后,我确实收到了IPN消息。但是我希望能够在付费请求中发送一个值,例如我的系统中存在的transactionId,并让IPN将它发回给我,这样我就可以通过我的ipn监听器中的id查找事务,并且使用该信息为用户提供数字商品。我无法弄清楚在付款请求中设置该值的位置。

在使用自适应支付api呼叫之前,如果我想将交易ID传递给IPN,我会将其设置在买入按钮形式的字段中的item_number字段中,然后通过。自适应api中有类似的东西吗?

谢谢, 蒂姆

2 个答案:

答案 0 :(得分:0)

尝试使用trackingid参数。我正在使用XML版本,我将其传递如下 sRequest.Append( “< / trackingId&gt;” 中);
sRequest.Append(trackingID);
sRequest.Append( “< / trackingId&gt;” 中);您可以在PayRequest类中获取属性作为跟踪ID。

答案 1 :(得分:0)

我通过PayRequest

中的trackingId字段传递orderId

例:     PayRequest payRequest = new PayRequest(requestEnvelope,actionType,cancelUrl,currencyCode,receiverList,returnUrl);             payRequest.ipnNotificationUrl = System.Configuration.ConfigurationManager.AppSettings [&#34; PaypalNotifyUrl&#34;];             payRequest.trackingId = orderId.ToString();

然后在IPN处理程序中,我从Request对象中检索它。