我试图弄清楚如何使用PayPal Payflow Gateway SDK接收要在Payflow Link IFrame中使用的SecureToken。我还使用Paypal的布局C,以便用户在我的网站中嵌入PayPal IFrame时输入他们的信用卡信息(从而阻止我的网站获得CC信息)。
为IFrame生成HTML的代码理想情况如下:
iframeHTML = "<iframe src='https://payflowlink.paypal.com?SECURETOKEN="
+ secureToken + "&SECURETOKENID=" + secureTokenID + "&MODE=" + mode
+ "' width='490' height='565' border='0' frameborder='0' scrolling='no'"
+ " allowtransparency='true'>\n</iframe>";
我已阅读Developer Guide并且无法找到我可以使用的对象。我曾尝试创建各种交易,但它们都需要发送投标(完整的信用卡信息)。我还查看了问题PayPal's Payflow Gateway SDK Example not working和How to get secure token when using "Hosted Checkout Pages" and RestApiSDK - ASP.Net,但未能找到我想要的答案。
我缺少某些物品或功能吗?我宁愿不使用名称 - 值集合并手动创建请求和响应来检索SecureToken但是如果它是唯一的方法。
答案 0 :(得分:2)
在深入挖掘之后,我最终在SDK中找到了一个名为&#34; ExtendData&#34;并且能够将这些实例添加到我的事务中以获取所需的令牌。它会将该信息附加到请求字符串,因此您可以将ExtendData用于您为SDK中已经指定的名称/值对创建的任何内容。
var edCreateSecureToken = new ExtendData("CREATESECURETOKEN", "Y");
var edSecureTokenID = new ExtendData("SECURETOKENID", strRequestID);
var transaction = new SaleTransaction(payPalUser, payflowConnection, invoice, null, strRequestID);
transaction.AddToExtendData(edCreateSecureToken);
transaction.AddToExtendData(edSecureTokenID);
Response response = transaction.SubmitTransaction();
string token = string.Empty;
if (response != null && response.TransactionResponse != null && response.TransactionResponse.Result == 0)
{
token = (from ExtendData test in response.ExtendDataList
where test.ParamName == "SECURETOKEN"
select test.ParamValue).FirstOrDefault();
}
paypalContent.InnerHtml = "<iframe src='https://payflowlink.paypal.com?SECURETOKEN=" + token + "&SECURETOKENID=" +
strRequestID + "&MODE=" + Config.PayflowMode +
"' width='490' height='565' border='0' frameborder='0' scrolling='no' allowtransparency='true'>\n</iframe>";
这似乎工作正常(布局C显示嵌入我的页面中没有错误),并允许我避免指定招标。
答案 1 :(得分:0)
以下是一些直接来自PayPal开发者网站的示例代码,它将帮助您创建安全令牌ID:
curl https://pilot-payflowpro.paypal.com -kd
"PARTNER=PayPal&
VENDOR=MyMerchantID&
USER=UserID&
PWD=UserPassword&
TRXTYPE=S&
AMT=40&
CREATESECURETOKEN=Y&
SECURETOKENID=12528208de1413abc3d60c86cb15"
以下是有关设置托管结帐页面的信息: Hosted Checkout Pages