Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何使用Payflow网关SDK获取SecureToken进行Payflow链接集成_Asp.net_Paypal_Payment Gateway_Payflowlink - Fatal编程技术网

Asp.net 如何使用Payflow网关SDK获取SecureToken进行Payflow链接集成

Asp.net 如何使用Payflow网关SDK获取SecureToken进行Payflow链接集成,asp.net,paypal,payment-gateway,payflowlink,Asp.net,Paypal,Payment Gateway,Payflowlink,我试图弄清楚如何使用PayPal Payflow Gateway SDK接收要在Payflow链接IFrame中使用的SecureToken。我也在使用Paypal的布局C,这样用户在Paypal IFrame中输入他们的信用卡信息,同时它被嵌入到我的网站中(从而防止我的网站有CC信息) 为IFrame生成HTML的代码理想情况下如下所示: iframeHTML = "<iframe src='https://payflowlink.paypal.com?SECURETOKEN="

我试图弄清楚如何使用PayPal Payflow Gateway SDK接收要在Payflow链接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>";
iframeHTML=“\n”;
我已经阅读了,但找不到我可以用什么东西来做这件事。我尝试过创建各种交易,但它们都需要发送投标书(完整的信用卡信息)。我也看过这些问题,但没有找到我想要的答案


我是否缺少某些对象或功能?我不希望使用名称值集合并手动创建请求和响应来检索SecureToken,但如果这是唯一的方法,我会这样做。

以下是一些直接来自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"
以下是有关设置托管签出页面的信息:

在深入研究之后,我最终在SDK中找到了一个名为“ExtendData”的对象,并能够将这些对象的实例添加到我的事务中,以获得所需的令牌。它将该信息附加到请求字符串中,因此您可以使用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>";
var-edCreateSecureToken=new-ExtendData(“CREATESECURETOKEN”,“Y”);
var-edSecureTokeId=新的扩展数据(“SecureTokeId”,strRequestID);
var交易=新的销售交易(payPalUser、payflowConnection、发票、空、strRequestID);
事务.AddToExtendData(edCreateSecureToken);
transaction.AddToExtendData(EdSecureTokeId);
响应=transaction.SubmitTransaction();
string-token=string.Empty;
if(response!=null&&response.TransactionResponse!=null&&response.TransactionResponse.Result==0)
{
令牌=(来自response.ExtendDataList中的ExtendData测试
其中test.ParamName==“SECURETOKEN”
选择test.ParamValue).FirstOrDefault();
}
paypalContent.InnerHtml=“\n”;

这似乎工作正常(布局C显示嵌入在我的页面中,没有错误),并允许我避免指定投标书。

感谢您查看,但我也应该承认我已经发现了这一点。不幸的是,它使用的Curl不是Payflow SDK的一部分。请求/响应很可能比使用我自己的streamreader/streamwriter更好,因此如果它最终成为最佳解决方案,我会将其标记为可接受的答案。