这个问题是由于API请求中使用了未授权的OTS访问令牌导致的。要解决这个问题,需要在Authorize.net的后台管理中心获取授权的访问令牌并在API请求中使用它。以下是一个示例代码,演示如何使用授权令牌创建一个客户项目:
$request = new AuthorizeNetCIM_CreateCustomerProfileRequest();
$request->setMerchantAuthentication($merchantAuthentication);
$request->setProfile($customer_profile);
$controller = new AuthorizeNetCIM;
$controller->setSandbox(AUTHORIZENET_SANDBOX);
$controller->setAuthorizeNetServer(AUTHORIZENET_SERVER);
$response = $controller->executeWithApiResponse(AuthorizeNetCIM::CREATE_CUSTOMER_PROFILE_REQUEST, $request);
if ($response->isOk()) {
$profile_id = $response->getCustomerProfileId();
// Do something with the profile ID...
} else {
$error_message = $response->getErrorMessage();
// Handle the error...
}
请注意,$merchantAuthentication变量应包含您的授权访问令牌和API登录ID。这将确保您的API请求得到授权并且不会出现OTS访问违规的问题。