0

我已经配置了Authorize.net接受我的客户要求的托管付款方式,除了交易响应之外,一切都很好。根据 Authorize.net,响应只能通过webhookCommunicatorUrl这两种方式中的一种。CommunicatorUrl 不适用于我的代码。所以,选择了 webhook。下面是我的代码。请给我一些建议。

我的疑问是:

  1. 我的代码在调用可用 webhook 列表时显示此错误

    { "status": 405, "reason": "Method Not Allowed", "message": "The requested resource does not support http method 'POST' for given parameters.", "correlationId": "ff90ee25-0ba7-4006-bb1e-225ea64897e3" }

  2. 我应该在商家面板的任何地方配置 webhook

  3. 我如何使用 webhook 获得交易响应

      <?php
      $login_transKey = 'xxx:xxx'; //Login and Transaction Key of Authorize.net
      $jsonObj = '{
        "name": "Get WebHooks",
        "request": {
            "url": "http://localhost:81/hosted_payment_form/webhookstwo.php",
            "method": "GET",
            "header": [
                {
                    "key": "Content-Type",
                    "value": "application/json",
                    "description": ""
                },
                {
                    "key": "Authorization",
                    "value": "'.$login_transKey.'",
                    "description": ""
                }
            ],
            "body": {
                "mode": "formdata",
                "formdata": []
            },
            "description": ""
        },
        "response": []
    }';
    $jsonObj = json_encode($jsonObj);
    $url = "https://apitest.authorize.net/rest/v1/eventtypes";      
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
    curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonObj);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 300);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false );
    $content = curl_exec($ch);
    echo '<pre>'; print_r($content); die();
    curl_close($ch);
    ?>
    

请让我知道更多信息。

4

1 回答 1

0

您需要在 authorize.net 帐户中指定 webhook URL。

您还需要在设置页面中选择事件。

请确保 Web-hook URL 始终返回 HTTP 200 响应。否则会自动变为非活动状态。

在此处输入图像描述

于 2019-11-21T08:51:51.867 回答