【问题标题】:Authorized Dot net ARB 2nd time payment notification on website授权点网 ARB 网站第二次付款通知
【发布时间】:2014-07-19 22:11:28
【问题描述】:

我已通过授权的 dot net ARB 创建了会员资格。我可以在运行 ARB 脚本时创建任何成员。但是第二次付款后我怎么知道。除了电子邮件之外,还有其他方法吗?Authrized dot net 在 ARB 持续时间内直接从 Authorized Dot net 发生每次交易后直接抛出一个 url,并且我网站上的会员资格将在我的网站上自动更新。

这是我下载 ARB 代码并实现订阅的 URL。

http://developer.authorize.net/downloads/samplecode/

HTML 和 PHP 代码如下。

HTML 表单

 <form method="post" action="subscription_create.php">
            <table width="35%" border="0">
                <tr>
                    <td>
                        <b><font size="2" face="arial">Create Subscription</font><br>
                        <br></b>
                    </td>
                    <td></td>
                </tr>
                <tr>
                    <td>
                        <font size="2" face="arial">Reference Id</font>
                    </td>
                    <td>
                        <input type="text" name="refId" value=''> <font size="1" face="arial">MAX = 20 chars</font>
                    </td>
                </tr>
                <tr>
                    <td>
                        <font size="2" face="arial">Subscription Name</font>
                    </td>
                    <td>
                        <input type="text" name="name" value=''>
                    </td>
                </tr>
                <tr>
                    <td>
                        <font size="2" face="arial">Subscription Length</font>
                    </td>
                    <td>
                        <input type="text" name="length" value=''> <font size="1" face="arial">1 - 12 or 7 - 365</font>
                    </td>
                </tr>
                <tr>
                    <td>
                        <font size="2" face="arial">Subscription Unit</font>
                    </td>
                    <td>
                        <input type="text" name="unit" value=''> <font size="1" face="arial">months or days</font>
                    </td>
                </tr>
                <tr>
                    <td>
                        <font size="2" face="arial">Start Date</font>
                    </td>
                    <td>
                        <input type="text" name="startDate" value=''> <font size="1" face="arial">YYYY-MM-DD</font>
                    </td>
                </tr>
                <tr>
                    <td>
                        <font size="2" face="arial">Total Occurrences</font>
                    </td>
                    <td>
                        <input type="text" name="totalOccurrences" value=''> <font size="1" face="arial">MAX = 9999</font>
                    </td>
                </tr>
                <tr>
                    <td>
                        <font size="2" face="arial">Trial Occurrences</font>
                    </td>
                    <td>
                        <input type="text" name="trialOccurrences" value=''> <font size="1" face="arial">0 = None. MAX = 99</font>
                    </td>
                </tr>
                <tr>
                    <td>
                        <font size="2" face="arial">Amount</font>
                    </td>
                    <td>
                        <input type="text" name="amount" value=''>
                    </td>
                </tr>
                <tr>
                    <td>
                        <font size="2" face="arial">Trial Amount</font>
                    </td>
                    <td>
                        <input type="text" name="trialAmount" value=''> <font size="1" face="arial">0 = None</font>
                    </td>
                </tr>
                <tr>
                    <td>
                        <font size="2" face="arial">Credit Card Number</font>
                    </td>
                    <td>
                        <input type="text" name="cardNumber" value=''>
                    </td>
                </tr>
                <tr>
                    <td>
                        <font size="2" face="arial">Expiration Date</font>
                    </td>
                    <td>
                        <input type="text" name="expirationDate" value=''> <font size="1" face="arial">YYYY-MM</font>
                    </td>
                </tr>
                <tr>
                    <td>
                        <font size="2" face="arial">First Name</font>
                    </td>
                    <td>
                        <input type="text" name="firstName" value=''>
                    </td>
                </tr>
                <tr>
                    <td>
                        <font size="2" face="arial">Last Name</font>
                    </td>
                    <td>
                        <input type="text" name="lastName" value=''>
                    </td>
                </tr>
                <tr>
                    <td>
                        <br>
                        <input type="submit" name="submit" value="Submit"><input type="reset" name="reset" value="Reset">
                    </td>
                    <td></td>
                </tr>
            </table>
        </form>

PHP 代码

 include ("authnetfunction.php");

    $amount = $_POST["amount"];
    $refId = $_POST["refId"];
    $name = $_POST["name"];
    $length = $_POST["length"];
    $unit = $_POST["unit"];
    $startDate = $_POST["startDate"];
    $totalOccurrences = $_POST["totalOccurrences"];
    $trialOccurrences = $_POST["trialOccurrences"];
    $trialAmount = $_POST["trialAmount"];
    $cardNumber = $_POST["cardNumber"];
    $expirationDate = $_POST["expirationDate"];
    $firstName = $_POST["firstName"];
    $lastName = $_POST["lastName"];

    $loginname = [LOGIN-NAME];
    $transactionkey = [TRANSACTION-KEY];

    echo "Results <br><br>";


    $content =
            "<?xml version=\"1.0\" encoding=\"utf-8\"?>" .
            "<ARBCreateSubscriptionRequest xmlns=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\">" .
            "<merchantAuthentication>".
            "<name>" . $loginname . "</name>".
            "<transactionKey>" . $transactionkey . "</transactionKey>".
            "</merchantAuthentication>".
            "<refId>" . $refId . "</refId>".
            "<subscription>".
            "<name>" . $name . "</name>".
            "<paymentSchedule>".
            "<interval>".
            "<length>". $length ."</length>".
            "<unit>". $unit ."</unit>".
            "</interval>".
            "<startDate>" . $startDate . "</startDate>".
            "<totalOccurrences>". $totalOccurrences . "</totalOccurrences>".
            "<trialOccurrences>". $trialOccurrences . "</trialOccurrences>".
            "</paymentSchedule>".
            "<amount>". $amount ."</amount>".
            "<trialAmount>" . $trialAmount . "</trialAmount>".
            "<payment>".
            "<creditCard>".
            "<cardNumber>" . $cardNumber . "</cardNumber>".
            "<expirationDate>" . $expirationDate . "</expirationDate>".
            "</creditCard>".
            "</payment>".
            "<billTo>".
            "<firstName>". $firstName . "</firstName>".
            "<lastName>" . $lastName . "</lastName>".
            "</billTo>".
            "</subscription>".
            "</ARBCreateSubscriptionRequest>";



    $response = send_request_via_curl($host,$path,$content);




    if ($response)
    {
        list ($refId, $resultCode, $code, $text, $subscriptionId) =parse_return($response);


        echo " Response Code: $resultCode <br>";
        echo " Response Reason Code: $code<br>";
        echo " Response Text: $text<br>";
        echo " Reference Id: $refId<br>";
        echo " Subscription Id: $subscriptionId <br><br>";
        echo " Data has been written to data.log<br><br>";
        echo $loginname;
        echo "<br />";
        echo $transactionkey;
        echo "<br />";

      echo "amount:";
      echo $amount;
      echo "<br \>";

      echo "refId:";
      echo $refId;
      echo "<br \>";

      echo "name:";
      echo $name;
      echo "<br \>";

      echo "amount: ";
      echo $HTTP_POST_VARS[amount];
      echo "<br \>";
      echo "<br \>";
      echo $content;
      echo "<br \>";
      echo "<br \>";

    }
    else
    {
        echo "Transaction Failed. <br>";
    }

【问题讨论】:

    标签: php payment-gateway payment authorize.net authorize.net-arb


    【解决方案1】:

    Silent Post* 是 Authorize.Net 的 Paypal 的 IPN 版本。每当付款时,无论以何种方式付款,都会通过 Silent Post 发送通知以通知商家付款。

    *我是那篇文章的作者

    【讨论】:

    • 感谢您提供这些宝贵的信息。我昨天已经读过那篇文章了。但是假设如果我没有商户 a/c 的访问权限,而只有登录 ID 和交易密钥,并且我只需要从网站执行此操作,而不是从授权的 dot 网,那么静默帖子将如何提供帮助。
    • 这不是在 Authorize.net 网站上完成的。它是在您控制的网站上完成的。
    猜你喜欢
    • 1970-01-01
    • 2020-12-25
    • 2015-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-08
    • 2012-10-11
    相关资源
    最近更新 更多