我看到的文档说我应该打电话并传递一个 ORIGID。但是,方法是什么?直接来自文档:
TRXTYPE=D&TENDER=C&PWD=x1y2z3&PARTNER=PayPal&VENDOR=.SuperMerchant &USER=SuperMerchant&ORIGID=VXYZ00887892
好的,这太棒了。我该如何打这个电话?我是否使用了错误的 API?我一直在做一个 DoCapture,但这需要一个三步过程来获得一个事务 ID,这似乎与这个 ORIGID 大不相同。
我看到的文档说我应该打电话并传递一个 ORIGID。但是,方法是什么?直接来自文档:
TRXTYPE=D&TENDER=C&PWD=x1y2z3&PARTNER=PayPal&VENDOR=.SuperMerchant &USER=SuperMerchant&ORIGID=VXYZ00887892
好的,这太棒了。我该如何打这个电话?我是否使用了错误的 API?我一直在做一个 DoCapture,但这需要一个三步过程来获得一个事务 ID,这似乎与这个 ORIGID 大不相同。
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。
我为此挣扎了很长时间。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();
}