保存されたクレジットカードを使用して請求を作成するにはどうすればいいですか?
/card apiの使用QuickBooks Onlineにカードを保存していて、カードIDを受け取っています。 保存したカードに対して請求を作成します。料金を作成するには、カードの詳細を提供する2つの方法があります。Quickbooks API - 保存されたクレジットカードを使用して請求書を作成する方法
- カードトークンを使用することにより
- などカード番号、有効期限などの明示的なカードの詳細を提供します。しかし、カードトークンを取得する場合でも、明示的なカードの詳細を/トークン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エンドポイントを使用して
お返事ありがとうございます。私は前にその試みを成功させずに試みたと思う。しかし、私はそれをもう一度やり直すだろう。 – ivish
私は自分の投稿を更新し、料金を作成するために保存されたカードを使用した結果を含めました。 – ivish
@ivishあなたのコードが間違っている箇所を示すために私の答えを更新しました。 –