循环返回验证错误

Recurly returning validation error

我正在尝试使用 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 会很重要,因为我什至没有处理它。任何帮助,将不胜感激。谢谢。

出于某种原因,即使示例中未指定,您也应该包括订阅货币。包括以下内容可解决问题。

$recurlySubscription->currency = 'USD';