我使用什么方法进行延迟捕获过程?

时间:2013-04-24 19:42:11

标签: paypal

我看到的文档说我应该打电话并传递一个ORIGID。但是,什么是METHOD?直接来自文档:

  

TRXTYPE = d&安培;嫩= C&安培; PWD = x1y2z3&安培; PARTNER =贝&安培; VENDOR = .SuperMerchant   &安培; USER = SuperMerchant&安培; ORIGID = VXYZ00887892

好的,那真棒。我该如何实际拨打电话?我使用错误的API吗?我一直在做DoCapture,但这需要一个三步过程来获得一个交易ID,这看起来与这个ORIGID有很大的不同。

2 个答案:

答案 0 :(得分:1)

PayPal有几种API。您列出的API字符串是Payflow Pro API套件的示例,该套件通常仅由使用PayPal作为支付网关的商家使用。它没有METHOD:相反,TRXTYPE = D指定它是延迟捕获。有关Payflow API的更多信息,请参阅https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/pp_payflowpro_guide.pdf

答案 1 :(得分:0)

我很长时间都在努力。 PayPal人似乎对.NET不太了解。所以我终于以这种方式工作(.Net解决方案)。此解决方案使用我在PayPal创建的添加用户(test123):

protected void Button1_Click(object sender, EventArgs e)
        {
            string myTokenRequest = "PARTNER=PayPal&VENDOR=kathypatrick77&USER=test123&PWD=test321&TRXTYPE=A&AMT=2.00&CREATESECURETOKEN=Y&SECURETOKENID=20128208de1413abc3d60c86v46yd+@dffg5";

            HttpWebRequest wrWebRequest = (HttpWebRequest)WebRequest.Create("https://pilot-payflowpro.paypal.com");
            wrWebRequest.Method = "POST";
           
            StreamWriter requestWriter = new StreamWriter(wrWebRequest.GetRequestStream());
            requestWriter.Write(myTokenRequest);
            requestWriter.Close();

            HttpWebResponse hwrWebResponse = (HttpWebResponse)wrWebRequest.GetResponse();
            StreamReader responseReader = new StreamReader(wrWebRequest.GetResponse().GetResponseStream());

            //and read the response
            string responseData = responseReader.ReadToEnd();
            TextBox1.Text = responseData.ToString();
            responseReader.Close();
        }