2017-12-26 5 views
0

保存されたクレジットカードを使用して請求を作成するにはどうすればいいですか?
/card apiの使用QuickBooks Onlineにカードを保存していて、カードIDを受け取っています。 保存したカードに対して請求を作成します。料金を作成するには、カードの詳細を提供する2つの方法があります。Quickbooks API - 保存されたクレジットカードを使用して請求書を作成する方法

  1. カードトークンを使用することにより
  2. などカード番号、有効期限などの明示的なカードの詳細を提供します。しかし、カードトークンを取得する場合でも、明示的なカードの詳細を/トークンapi呼び出しに提供する必要があります。

チャージで返されたカードの詳細を使用して保存されたカードを取得しようとしましたが、動作しませんでした。
保存されたクレジットカードを使用し、毎回明示的なカードの詳細を提示する必要がないため、料金を作成する方法を知りたいと思います。

UPDATE

私はテストコードを、次の試してみましたが、それは 'card.numberが無効です' というエラーを私に与えています。

public Charge createCharge(Context context, String requestId) { 
     String uri = "https://sandbox.api.intuit.com/quickbooks/v4/payments/charges"; 
     PaymentService paymentService = new PaymentService(); 
     Charge charge = new Charge(); 
     CreditCard card = null; 
     try { 
      card = paymentService.getCreditCard(context, getRequestId(), "https://sandbox.api.intuit.com/quickbooks/v4/customers/{customer_id}/cards/{card_id}"); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
     charge.setCard(card); 
     charge.setAmount(new BigDecimal(10.55)); 
     charge.setCurrency("USD"); 

     try { 
      charge = paymentService.createCharge(context, getRequestId(), charge, uri); 
      return charge; 
     } catch (Exception e) { 
     } 
} 

Error com.intuit.ipp.exception.BadRequestException: ERROR CODE:PMT-4000, ERROR MESSAGE:card.number is invalid., ERROR DETAIL:card.number, MORE ERROR DETAIL:HttpStatusCode=400; Type=invalid_request; MoreInfo=Credit/Debit card number format, InfoLink=https://developer.intuit.com/v2/docs?redirectID=PayErrors 

私はカードIDを使用して取得するカードのカード番号は、(明らかに)難読化とフォーマット「xxxxxxxxxxxx1111」であるので、/料金のAPIは、それが無効であると文句を言います。このAPIエンドポイントを使用して

答えて

1

ストアカードの詳細情報( "カードの作成"):

あなたはユニークなid値を取り戻します。

このAPIエンドポイント使用料作成:cardOnFileはあなたが戻って最初のAPI呼び出しから得たid値を渡すために確認してください

を。

現在のコードは正しくありません。 cardOnFileをパラメータとして渡す必要がある場合は、代わりにcardノードを渡します(完全なカード番号とカードの比較が予想されます)。idの値です。特にこの行は間違っています:

charge.setCard(card);

+0

お返事ありがとうございます。私は前にその試みを成功させずに試みたと思う。しかし、私はそれをもう一度やり直すだろう。 – ivish

+0

私は自分の投稿を更新し、料金を作成するために保存されたカードを使用した結果を含めました。 – ivish

+0

@ivishあなたのコードが間違っている箇所を示すために私の答えを更新しました。 –

関連する問題