Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.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
C# 如何使用payflow pro API对存储的信用卡收费?_C#_Paypal_Transactions_Pci Compliance_Payflowpro - Fatal编程技术网

C# 如何使用payflow pro API对存储的信用卡收费?

C# 如何使用payflow pro API对存储的信用卡收费?,c#,paypal,transactions,pci-compliance,payflowpro,C#,Paypal,Transactions,Pci Compliance,Payflowpro,我正在使用PayflowPro API(Payflow_dotNET.dll)的PayflowNETAPI类提交交易以存储信用卡,这样我的公司就不必这样做(对于符合PCI标准的重新分配)。 我正在使用信用卡商店交易中的PNREF进行参考交易,但我一直得到“RESULT=2&PNREF=&RESPMSG=Invalid tender” 我尝试过授权、捕获和销售交易,它们都给出了相同的结果。我做错了什么 我已经多次阅读了Payflow网关开发人员指南和参考()。授权、捕获和销售交易的所有示例都在请求

我正在使用PayflowPro API(Payflow_dotNET.dll)的PayflowNETAPI类提交交易以存储信用卡,这样我的公司就不必这样做(对于符合PCI标准的重新分配)。 我正在使用信用卡商店交易中的PNREF进行参考交易,但我一直得到“RESULT=2&PNREF=&RESPMSG=Invalid tender” 我尝试过授权、捕获和销售交易,它们都给出了相同的结果。我做错了什么

我已经多次阅读了Payflow网关开发人员指南和参考()。授权、捕获和销售交易的所有示例都在请求中包含信用卡信息。有一些小章节解释和概述了信用卡上传,但从未在参考交易中使用请求的结果

下面是一个示例应用程序和输出

string creditCardUploadRequest = "TRXTYPE=L&TENDER=C&ACCT=4111111111111111&EXPDATE=1218&CVV2=250&BILLTOFIRSTNAME=Homer&BILLTOLASTNAME=Simpson&BILLTOSTREET=350 5th Ave&BILLTOCITY=New York&BILLTOSTATE=NY&BILLTOZIP=10118&BILLTOCOUNTRY=840&USER=<USER>&VENDOR=<VENDOR>&PARTNER=<PARTNER>&PWD=<PASSWORD>&VERBOSITY=HIGH";

var client = new PayPal.Payments.Communication.PayflowNETAPI(HostAddress: "pilot-payflowpro.paypal.com", HostPort: 443, Timeout: 90);
var ccUploadResponse = client.SubmitTransaction(ParamList: creditCardUploadRequest, RequestId: PayflowUtility.RequestId);

//place the responses into collection
var payPalCollection = new NameValueCollection();

foreach (string element in ccUploadResponse.Split('&'))
{
    string[] Temp = element.Split('=');
    payPalCollection.Add(Temp[0], Temp[1]);
}

Console.WriteLine("creditCardUploadRequest succeeded = {0}", payPalCollection.Get("RESPMSG") == "Approved");

string authorizationRequest = "TRXTYPE=A&ORIGID=" + payPalCollection.Get("PNREF") + "&INVNUM=ORD123456&AMT=50&COMMENT1=My Product Sale&USER=<USER>&VENDOR=<VENDOR>&PARTNER=<PARTNER>&PWD=<PASSWORD>&VERBOSITY=HIGH";
var authorizationResponse = client.SubmitTransaction(ParamList: authorizationRequest, RequestId: PayflowUtility.RequestId);

foreach (string element in authorizationResponse.Split('&'))
{
    Console.WriteLine(element);
}
Console.WriteLine("\nDONE");
Console.ReadKey();
string creditCardUploadRequest=“TRXTYPE=L&TENDER=C&ACCT=4111111&EXPDATE=1218&CVV2=250&BILLTOFIRSTNAME=Homer&BILLTOLASTNAME=Simpson&BILLTOSTREET=350第五大道&BILLTOCITY=纽约&BILLTOSTATE=NY&BILLTOZIP=10118&BILLTOCOUNTRY=840&USER=&VENDOR=&PARTNER=&PWD=&VERBOSITY=HIGH”;
var client=new PayPal.Payments.Communication.PayflowNETAPI(主机地址:“pilot payflowpro.PayPal.com”,主机端口:443,超时:90);
var ccUploadResponse=client.SubmitTransaction(参数列表:creditCardUploadRequest,请求ID:PayflowUtility.RequestId);
//将响应放入集合中
var payPalCollection=新名称valuecollection();
foreach(ccUploadResponse.Split('&')中的字符串元素)
{
字符串[]Temp=element.Split('=');
payPalCollection.Add(临时[0],临时[1]);
}
Console.WriteLine(“CreditCardUploadRequestSuccessed={0}”,payPalCollection.Get(“RESPMSG”)==“Approved”);
string authorizationRequest=“TRXTYPE=A&ORIGID=”+payPalCollection.Get(“PNREF”)+“&INVNUM=ORD123456&AMT=50&COMMENT1=My Product Sale&USER=&VENDOR=&PARTNER=&PWD=&VERBOSITY=HIGH”;
var authorizationResponse=client.SubmitTransaction(参数列表:authorizationRequest,RequestId:PayflowUtility.RequestId);
foreach(authorizationResponse.Split('&')中的字符串元素)
{
控制台写入线(元素);
}
Console.WriteLine(“\n目录”);
Console.ReadKey();
输出:

creditCardUploadRequest成功=True

结果=2

PNREF=A7X08AB571EC

RESPMSG=无效投标书


完成

在第二次调用中,您缺少变量“TENDER=C”。加上这个,应该没问题

"string authorizationRequest = "TRXTYPE=A&ORIGID=" + payPalCollection.Get("PNREF") + "&INVNUM=ORD123456&AMT=50&COMMENT1=My Product Sale&USER=<USER>&VENDOR=<VENDOR>&PARTNER=<PARTNER>&PWD=<PASSWORD>&VERBOSITY=HIGH"
“string authorizationRequest=“TRXTYPE=A&ORIGID=”+payPalCollection.Get(“PNREF”)+“&INVNUM=ORD123456&AMT=50&COMMENT1=My Product Sales&USER=&VENDOR=&PARTNER=&PWD=&VERBOSITY=HIGH”

不起作用。我添加了TENDER=C并出现以下错误:RESULT=117 PNREF=RESPMSG=失败的商户规则检查若要消除此错误,您需要在manager帐户中打开参考交易。转到manager帐户--帐户管理-->交易设置并打开参考txn,然后每天等待一小时而且应该可以。谢谢,我会试试。我不是账户管理员,所以我必须问我的老板这是否有效。我会尽快报告。在PayflowPro中打开参考交易有效。谢谢