PayPal开发者测试版:测试交易未在沙盒企业帐户中列出

本文关键字:企业 测试版 开发者 测试 交易 PayPal | 更新日期: 2023-09-27 18:18:20

所以.....似乎PayPal开发人员决定从 2013 年开始更改其全新网站上的所有内容,这让我过去几天的生活变得悲惨。请注意,我对在网站中集成PayPal完全陌生。我试图遵循本教程,但它是从 2009 年开始的:http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers

我没有使用PayPal API。不知道我是否应该?

这是我所做的:

1(我去了 https://developer.paypal.com/并使用自己的PayPal帐户登录。

2(这是棘手的部分之一。在我检查过的教程中,有一个选项可以创建"预配置的测试帐户",但它不再可用。所以我用他们的新"创建帐户"按钮创建了两个测试帐户(或者我认为是这样(。一个个人(买方(和一个企业(卖方(。没有提到教程是否需要存在这些测试帐户的电子邮件地址,或者它们是否可以是虚构的......我使买方成为真实的(我为此测试创建(,卖方成为虚构的。

3( 在我的测试卖家账户中,我使用回调网址激活了自动退货,并激活了付款数据传输 (PDT( 并将令牌放入我的 web.config 中。

4(再次按照教程,我创建了我的.Net Visual Studio项目。非常简单的东西,默认值.aspx,回调.aspx和取消.aspx。用于检查事务是否成功的回调,用于检查用户是否取消了事务的"已取消"。

5(这是默认.aspx的代码/PayPal隐藏字段变量。没什么好看的:

<form id="form1" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" runat="server">
<div>
    <!-- Type: Buy Now/Simple Payment -->
    <input type="hidden" name="cmd" value="_xclick" />
    <!-- PayPal ID or an email address associated with your PayPal account -->
    <input type="hidden" name="business" value="THE-SELLER-MAIL-ADRESS" />
    <!-- Name of service selected -->
    <input type="hidden" name="item_name" value="Forfait Regulier" />
    <!-- Currency -->
    <input type="hidden" name="currency_code" value="CAD" />
    <!-- Return method: 2 – the buyer’s browser is redirected to the return URL by using the POST method, and all payment variables are included -->
    <input type="hidden" name="rm" value="2" />
    <!-- Button text -->
    <input type="hidden" name="cbt" value="Retourner sur Bloc D'Affaires" />
    <!-- Cancel callback url -->
    <input type="hidden" name="cancel_return" value="http://dev.triarts.ca/Pages/Cancelled.aspx" />
    <!-- Amount -->
    <input type="hidden" name="amount" value="10.00" />
    <!-- Don't show Shipping adress form -->
    <input type="hidden" name="no_shipping" value="1" />
    <!-- Don't show seller note box -->
    <input type="hidden" name="no_note" value="1" /> 
    <!-- Button -->
    <input type="submit" value="Payer" />
</div>
</form>

6( 回调的代码隐藏.aspx,取自上面提到的 2009 年教程并改编自:

protected void Page_Load(object sender, EventArgs e)
{
    string authToken = WebConfigurationManager.AppSettings["PDTToken"];
    //read in tx token from querystring
    string txToken = Request.QueryString.Get("tx");

    string query = string.Format("cmd=_notify-synch&tx={0}&at={1}",
                          txToken, authToken);
    // Create the request back
    string url = WebConfigurationManager.AppSettings["PayPalSubmitUrl"];
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
    // Set values for the request back
    req.Method = "POST";
    req.ContentType = "application/x-www-form-urlencoded";
    req.ContentLength = query.Length;
    // Write the request back IPN strings
    StreamWriter stOut = new StreamWriter(req.GetRequestStream(),
                             System.Text.Encoding.ASCII);
    stOut.Write(query);
    stOut.Close();
    // Do the request to PayPal and get the response
    StreamReader stIn = new StreamReader(req.GetResponse().GetResponseStream());
    string strResponse = stIn.ReadToEnd();
    stIn.Close();
    // If response was SUCCESS, parse response string and output details
    if (strResponse.StartsWith("SUCCESS"))
    {
        Label1.Text = "Success";
    }
    else
    {
        Label1.Text = "Oooops, something went wrong...";
    }
}

7(到目前为止,它并不复杂。之后,我首先登录我的PayPal开发人员帐户。我启动项目并对其进行测试。按下"立即购买"按钮,按预期重定向到PayPal沙盒测试存储。我使用买家测试帐户登录,单击立即付款。过程。交易成功。该页面将我重定向到回调.aspx正如预期的那样,并显示成功消息。没那么寒酸。

8(但这是另一个棘手的部分。在PayPal开发者网站中,我看到买家/卖家通知,指出付款已发送/接收。我在沙盒中以测试买家的身份登录并检查最近的活动:一个条目显示付款已完成且已完成(状态(。我以测试卖家的身份登录,检查最近的活动,没有看到交易条目,但PayPal余额增长,这意味着付款已添加?!?...

我不明白。。。这是应该发生的吗?我做错了什么吗?如果我使用这些设置,一切都会出错吗?

在一个对我没有真正帮助的视频教程中,它清楚地显示了卖家测试账户中的交易条目。为什么我的没有出现,或者我到目前为止所做的任何无数测试交易都没有出现?

任何人都可以确保该过程是合法的吗?这会让我非常放心。当我不太确定这一点时,我会感到不舒服。此代码是否足以创建付款后逻辑,例如更新我的数据库以提及付款已完成或取消?如果有更简单的方法,请随时告诉我。

提前非常感谢您,并为史诗般的小说感到抱歉。

PayPal开发者测试版:测试交易未在沙盒企业帐户中列出

新的沙盒企业版帐户目前默认启用支付专业版,并且帐户布局与标准企业帐户或个人帐户不同。使用Pro帐户,首次登录时,您不会在"帐户概述"页面上看到交易。

要查看Pro帐户上的交易,您需要打开"历史记录"选项卡。你想通了,你就可以走了。我担心交易没有出现在"历史记录"选项卡上,但这似乎不是问题,所以这是一种解脱。