我试图使用Recurly php客户端库将服务集成到PHP平台中,但我遇到了一个似乎没有意义的错误。
我已经创建了一个如上所述的表单here,它获取一个令牌,该令牌将其提交到下面的代码中,以创建实际的帐户和订阅。在我的控制器中,我有以下代码:
protected function _actionAdd($context)
{
$viewer = get_viewer();
$plan = $this->getService('repos:subscriptions.plan')->fetch($context->data->get('plan'));
try {
$recurlySubscription = new Recurly_Subscription();
$recurlySubscription->plan_code = $plan->code; // "test-plan"
$recurlySubscription->account = new Recurly_Account();
$recurlySubscription->account->account_code = $viewer->id;
$recurlySubscription->account->first_name = $context->data->get('first_name');
$recurlySubscription->account->last_name = $context->data->get('last_name');
$recurlySubscription->account->email = $viewer->email;
$recurlySubscription->account->billing_info = new Recurly_BillingInfo();
$recurlySubscription->account->billing_info->token_id = $context->data->get('recurly-token');
$recurlySubscription->create();
} catch( Recurly_ValidationError $e) {
print "Invalid Account: $e";
}
}上面的大部分代码来自提供的示例here。该表单在plan属性中包含计划id,然后我将从自己的数据库中查找计划代码以及当前用户的信息。
由于某些原因,我得到以下错误:
Invalid Account: exception 'Recurly_ValidationError' with message 'Currency is not included in the list, currency not accepted by site, unit amount in cents is not a number.'我已经检查过test-plan和我的网站设置无数次了。这两个都设置为美元作为默认货币,我不知道为什么unit amount in cents重要,因为我甚至没有处理它。任何帮助都将不胜感激。谢谢。
发布于 2017-02-04 06:50:01
出于某些原因,您需要包括订阅的货币,即使在示例中没有指定。包含以下内容可以解决这个问题。
$recurlySubscription->currency = 'USD';https://stackoverflow.com/questions/42033652
复制相似问题