2014-07-22 129 views
0

我正在使用Rest API来使用唯一的安全ID和其他参数获取安全令牌。请提示。我使用下面的代码:Salesforce Paypal集成(PayFlow)

HttpRequest httpRequest = new HttpRequest(); 
httpRequest.setEndpoint('https://pilot-payflowpro.paypal.com'); 
String body = 'PARTNER=Paypal&PWD=pwd&VENDOR=abc&USER=abc&CREATESECURERTOKEN=Y&SECURETOKENID=9a9ea8208de1413abc3d60c86cb1f4ce&TRXTYPE=C&AMT=23.0&MODE=TEST'; 
httpRequest.setBody(body); 
httpRequest.setMethod('GET'); 
Http htt = new hTTP(); 
HttpResponse httpRe = htt.send(httpRequest); 
system.debug(httpRe.geTbody()); 

但我得到以下错误:RESULT = 2 & PNREF = A7X06D187FF7 & RESPMSG =无效投标

回答

0

您在这里缺少一个参数,同时发布的数据为 “https://pilot-payflowpro.paypal.com”。您需要在请求参数中包含TENDER = C。其次,您需要更换TRXTYPE = C到TRXTYPE = S,因为TRXTYPE = C表示它是退款交易,但您正在执行销售交易。

应该类似于下面:

NVP Request: 
VENDOR=XXXXXXXXX&PARTNER=XXXXXXXXX&USER=XXXXXXXXX&PWD==XXXXXXXXX&AMT=12.72&TRXTYPE=S&TENDER=C&SECURETOKENID=wsw.big7jsa8la531f4x31ec3ssael7esef1.4521352289&CREATESECURETOKEN=Y 

NVP Response: 
RESULT=0 
RESPMSG=Approved 
SECURETOKEN=99UhUOS2ZWk6wDJn8kdNNeAZf 
SECURETOKENID=wsw.big7jsa8la531f4x31ec3ssael7esef1** 

希望这有助于您调试问题。