2015-12-04 71 views
2

我正在使用PayflowPro API(Payflow_dotNET.dll)的PayflowNETAPI類提交交易以存儲信用卡,所以我的公司不必(對於PCI合規性重新申請)。 我使用從信用卡商店交易PNREF參考交易,但我不斷收到「RESULT = 2 & PNREF = & RESPMSG =無效投標」 我已經嘗試授權,捕獲和銷售交易,他們都給相同的結果。我究竟做錯了什麼?如何使用payflow pro API向存儲的信用卡收費?

我已經多次閱讀了Payflow Gateway開發人員指南和參考(https://developer.paypal.com/docs/classic/payflow/integration-guide/)。所有授權,捕獲和銷售交易示例都在請求中包含信用卡信息。有一些小部分解釋和概述信用卡上傳,但從未在參考交易中使用請求的結果。

下面是一個示例應用程序和輸出

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(); 

OUTPUT:

creditCardUploadRequest成功=真

RESULT = 2

PNREF = A7X08AB571EC

RESPMSG =無效投標

DONE

回答

2

在第二次調用中,您缺少變量「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" 
+0

沒有工作。我加入投標= C,並得到了以下錯誤: RESULT = 117 PNREF = RESPMSG =無法商戶規則檢查 – scottDeveloper

+1

爲了擺脫如果這個錯誤,你需要打開在管理員帳戶的參考交易。轉到經理帳戶 - 帳戶管理 - >交易設置,並打開引用txn並等待一個小時,它應該工作正常。 – Eshan

+0

謝謝,我會嘗試。我不是一個賬戶管理員,所以我必須問我的老闆是否有效。我會盡快報告。 – scottDeveloper