代码之家  ›  专栏  ›  技术社区  ›  Volomike nbk

2签出退款问题

  •  3
  • Volomike nbk  · 技术社区  · 10 年前

    使用 2Checkout's supported library for PHP ,我无法使用他们提供的示例和我自己的凭据通过他们的API在他们的沙箱中进行退款。我做错了什么?请注意,我可以在他们的沙箱中进行收费,但不能退款。

    <?php
    
    error_reporting(E_ALL);
    ini_set('display_errors','On');
    header('Content-Type: text/plain');
    
    require_once('lib/Twocheckout.php');
    
    $sChargeID = '4093729353592'; // my order ID
    Twocheckout::username('USER'); // my username
    Twocheckout::password('PASSWORD'); // my password
    Twocheckout::sandbox(true);
    
    Twocheckout::verifySSL(false);
    
    $charge = Twocheckout_Sale::refund(array(
        'sale_id' => $sChargeID,
        'comment' => 'Customer decided the item did not meet expectations and it was within their refund period.',
        'category' => 2 // did not like item
    ));
    
    echo "\nRESPONSE = \n";
    print_r($charge);
    echo "\n";
    

    当我转储CURL响应时,我看到以下内容:

    {
       "errors" : [
          {
             "code" : "FORBIDDEN",
             "message" : "Access denied to API"
          }
       ]
    }
    
    1 回复  |  直到 10 年前
        1
  •  3
  •   Volomike nbk    10 年前

    关于API退款,有几件事他们没有明确说明:

    1. 他们在沙盒上的密码重置电子邮件服务不起作用。我从他们的技术支持那里得到了答案。

    2. 您必须进入沙盒(除非是Live)仪表板,然后单击帐户>用户管理。你会看到一个小小的注释,上面写着:“**用户不能同时访问API和卖家区域”。您还会注意到,您自己的帐户没有API访问和API更新权限。这意味着您必须从该用户管理屏幕创建另一个帐户,当您这样做时,请勾选Admin API和API Update功能。然后,使用该用户名和密码,但使用与其他帐户相同的帐户ID。请注意,这个新用户可以通过API进行退款,但无法登录仪表板。

    请注意,收费不使用“管理API”——他们使用一个单独的API,该API使用API密钥,而不是用户/通行证组合。对于一个API,我可以使用API键,但对于另一个API必须使用受限的用户/传递组合,这毫无意义。

    正是这类套圈使得2Checkout不如Stripe有吸引力,但嘿,很少有服务像Stripe那样具有快速登录和基于令牌的支付。2支票是我的“第二选择”。

    推荐文章