我使用自适应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中有类似的东西吗?
谢谢, 蒂姆
答案 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对象中检索它。