Stripeを使用して顧客カードの下4桁を取得したいのですが。私はすでに以下を使用して顧客を保管しています:
// Get the credit card details submitted by the form
$token = $_POST['stripeToken'];
// Create a Customer
$StripeCustomer = \Stripe\Customer::create(array(
"description" => "$username",
"card" => $token
));
次に、カードの最後の4桁にアクセスして保存します。 (コンテキストとして、今後の支払いのためにStripeを使用して保存したカードをユーザーに表示したいと思います。これはサブスクリプションサービスではありません)。
私は解決策を探しましたが、多くの投稿が料金後の最後の4桁を保存しており、次のように料金から情報を取得しています。
$last4 = null;
try {
$charge = Stripe_Charge::create(array(
"amount" => $grandTotal, // amount in cents, again
"currency" => "usd",
"card" => $token,
"description" => "Candy Kingdom Order")
);
$last4 = $charge->card->last4;
請求の前に同じことをしたいので、Customer Objectから最後の4つを引き出します。 Stripe APIのドキュメントには、顧客からのlast4の属性パスが示されています。customer->sources->data->last4
ただし、これでは正しい下4桁が表示されないようです。$last4 = $StripeCustomer->sources->data->last4;
Stripe APIで属性を使用する方法を誤解していると思います。誰かが私を正しい方向に向けることができますか?
$ last4 = $ StripeCustomer-> sources-> data [0]-> last4;
sources-> dataは配列なので、最初のカードを選択する必要があります。
補足:トークンを2回使用しています。1回目は顧客の作成、2回目は請求の作成です。トークンは1回しか使用できないため、エラーが発生します。トークンの代わりに顧客に請求する必要があります。