2017-02-03 69 views
0

我正在嘗試使用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。該表格包含​​屬性中的計劃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重要,因爲我甚至沒有處理它。任何幫助,將不勝感激。謝謝。

回答

3

由於某些原因,即使未在示例中指定,也需要包含訂閱的貨幣。包括下面的問題解決了這個問題。

$recurlySubscription->currency = 'USD';