2017-08-07 8 views
0

私はcustomer_idを介して顧客を検索しますが、このエラーはcustomer with id "customer_id" not foundとなりますので、以下のBraintreeコードを使用しています。そしてこの作業をするために、私はBraintree Vault内の顧客の顧客IDを表す変数に文字列 'customer_id'を置き換える必要があります。idが "customer_id"のお客様は見つかりません

私は変数に固執していて、何か助けが必要です!

User.rb

customer = Braintree::Customer.find(customer_id)# this string here need to be replaced 
customer_card = customer.payment_methods[0].token 
payment_method = Braintree::PaymentMethod.find(customer_card) 
sub = payment_method.subscriptions[0] 
sub.status 

作成方法はtransactions_controller.rbあなたはブレイン:: Customer.findに置くためにCUSTOMER_IDを得るのですか

def create 
    nonce_from_the_client = params['payment_method_nonce'] 
    @result = Braintree::Customer.create(
    first_name: params[:first_name], 
    last_name: params[:last_name], 
    :payment_method_nonce => nonce_from_the_client 
) 

    if @result.success? 
    puts @result.customer.id 
    puts @result.customer.payment_methods[0].token 
    redirect_to showcase_index_path, notice: 'Subscribed' 

    else 
    redirect_back(fallback_location: (request.referer || root_path), 
       notice: "Something went wrong while processing your transaction. Please try again!") 
    end 
end 
+0

カスタマーテーブルにcustomer_id列があることを確認してください。 – xiaocui

+0

お返事ありがとうございます。@xiaocui ...私は顧客テーブルを持っていませんが、同じエラー「customer with id」customer_idがまだ見つかりません。私はここで何が欠けているかもしれないか何か考え?? – Theopap

答えて

0

の内側に位置していますか?見つけ出す前に顧客を作成しましたか? Braintreeがシステムに提供された顧客を見つけることができないため、例外がスローされることがあります。 Braintreeにログインし、顧客リストをエクスポートして、提供されたIDが存在するかどうかを確認することができます。

+1

お返事ありがとう@ tai tran tuan!あなたの質問に答えるために、customer_idはBraintreeの例です。文字列 'customer_id'をBraintree Vault内の顧客の顧客IDを表す変数に置き換える必要があります。顧客は '@result = Braintree :: Customer.create() ' – Theopap

+1

Braintreeで働いています。さらなる支援が必要な場合は、[email protected]までお気軽にお問い合わせください。 @Theopap正常に作成された顧客からcustomer_idを解析できます。結果オブジェクトは次のようになります。 customer_id = result.customer.id 外部のお客様は、https://developers.braintreepayments.com/reference/request/customer/searchでいつでも検索することができます。過去に複数のPAを使用して作成した顧客向けラマー。 – ThinkAboutIt

0

transactions_controller.rb createメソッドで、Braintree :: Customer.createを呼び出すときに、idパラメータを使用してユーザーIDを顧客IDとして設定できます。

idパラメータを指定しないと、Braintreeはその顧客のIDを作成します。

+0

返信ありがとうございます。@Katan Doshi .. Braintree customer_idはよりユニークで、私のuser_idの数が多いので、代わりにBarinatree customer_idを使用したいと思います。この作品を作る上の指針は? – Theopap

関連する問題