Issuing のデータをクエリする
Sigma または Data Pipeline を使用して Issuing に関する情報を取得します。
Sigma または Data Pipeline 内で使用される Issuing オブジェクトには、Authorizations (オーソリ)、Transactions (取引)、Cards (カード)、および Cardholders (カード保有者) が含まれます。Issuing 特有のテーブルは、スキーマの Issuing セクションにあります。
連結アカウントの Issuing データは、connected_
が前に付いたテーブル (connected_
など) 内にあります。Sigma または Data Pipeline で Connect を使用する詳細については、ドキュメントの Connect セクションをご覧ください。
オーソリ
発行されたカードを使用して購入が行われると、Authorization (オーソリ) オブジェクトが作成されます。issuing_
テーブル内の各行は、このオブジェクトに関するデータを表します。同じ情報を API で取得したり、Stripe ダッシュボードで入手したりできます。request history フィールドは現在使用できません。アカウントで作成されたすべてのオーソリは、Sigma または Data Pipeline で使用できます。
このテーブルの card_
列には、購入に使用されたカードの ID が格納されます。オーソリを開始したカードに関する追加情報を取得するには、この列と issuing_
テーブルを結合します。
特定のオーソリに関連する取引にアクセスするには、issuing_
テーブルの authorization_
列を結合します。
次のクエリは、承認ステータスごとにグループ化されたオーソリの件数を計算します。
select date_trunc('month', created) as month, count(case when approved then 1 end) as num_approved_authorizations, count(*) as total_num_authorizations from issuing_authorizations where date_trunc('month', created) between date_trunc('month', date_add('month', -13, date(data_load_time))) and date_trunc('month', date_add('month', -1, date(data_load_time))) group by 1 order by 1 desc, 2 limit 2
月 | 承認 | num_authorizations |
---|---|---|
false | 506 | |
true | 10,045 |
取引
発行されたカードが使用され、購入完了や返金など Stripe アカウントへの出入金が発生した場合、Issuing Transaction (取引) オブジェクトで表されます。これらのオブジェクトに関する情報は、issuing_
テーブル内に格納されます。同じ情報を API で取得したり、Stripe ダッシュボードで入手したりできます。
手数料などの取引に関する追加について、詳細は関連する取引残高にアクセスしてください。アクセスするには、balance_
テーブルの balance_
列と id
列を結合します。取引残高は、Issuing 固有のオブジェクトではありません。Sigma または Data Pipeline で取引残高を使用する場合は、ドキュメントの取引セクションで詳細をご確認ください。
authorization_
列を issuing_
テーブルの id
列で結合すると、Transaction に関連付けられた Authorization (オーソリ) オブジェクトにアクセスできます。ここで、取引がどのようにオーソリされたかについて追加の詳細を得られます。Issuing 取引の authorization_
列は、キャプチャーの強制実行の場合や、一部の返金のインスタンスでは空になることがあります。
また、card_
列と cardholder_
列を介して、取引に関与したカードとカード保有者の両方にアクセスできます。カードに関する情報は、issuing_
テーブルに、カード保有者に関する情報は issuing_
テーブルに格納されています。Card (カード) オブジェクトおよび Cardholder (カード保有者) オブジェクトによって、誰が取引を開始したかについて追加の詳細を得られます。
次のクエリは、直近の 3 件のオーバーキャプチャーに関する情報を返します。issuing_
テーブルを結合し、2 つのオブジェクトの金額を比較して、取引がオーバーキャプチャーかどうかを判断します。
select date_format(it.created, '%Y-%m-%d') as day, it.id, ia.amount as authorized_amount, -1 * it.amount as captured_amount from issuing_transactions it join issuing_authorizations ia on it.authorization_id=ia.id where it.type='capture' and -1 * it.amount > ia.amount --- This checks if this transaction was overcaptured order by day desc limit 3
日付 | id | authorized_amount | captured_amount |
---|---|---|---|
ipi_BqqOp0xdLqmyIAt | 150 | 151 | |
ipi_KgOfss1jdcm9bXO | 0 | 1,000 | |
ipi_dxwuMxDpN68ryu5 | 1450 | 1050 |
Issuing で Sigma または Data Pipeline を使用することのメリットの 1 つは、データを集計する機能です。次の例は、balance_
テーブルを結合し、Issuing 取引の各タイプの月額手数料を集計します。
select date_trunc('month', it.created) as month, fd.type as fee_type, sum(fd.amount) as net_fees, sum(it.amount) as net_amount from issuing_transactions it inner join balance_transactions bt on bt.id=it.balance_transaction_id inner join balance_transaction_fee_details fd on fd.balance_transaction_id=bt.id group by 1,2 order by month desc, fee_type
月 | fee_type | net_fees | net_amount |
---|---|---|---|
stripe-fee | 590 | 10,000 | |
stripe-fee | 59 | 1,000 | |
stripe-fee | 590 | 10,000 |
カード
issuing_
テーブルには、個々の Card (カード) オブジェクトに関する情報が含まれます。同じ情報を API で取得したり、Stripe ダッシュボードで入手したりできます。spending controls フィールドは現在使用できません。
発行された各カードには、関連付けられた Cardholder (カード保有者) があります。これは、cardholder_
列で issuing_
テーブルを結合することでアクセスできます。
カード保有者
Cardholder (カード保有者) データは、issuing_
テーブル内に格納されます。同じ情報を API で取得したり、Stripe ダッシュボードで入手したりできます。spending controls (支出監理) フィールドは現在使用できません。
このテーブルを別のテーブルに結合して、取引を開始したエンティティや、発行されたカードを所有するエンティティに関する情報を取得することができます。
次の例では、直近に作成された有効な 3 人のカード保有者に関する情報を取得します。
select date_format(created, '%Y-%m-%d') as day, id, email, type from issuing_cardholders where status='active' limit 3
日付 | id | メールアドレス | タイプ |
---|---|---|---|
ich_yWNHDBTYDro8HOS | j.smith@example.com | individual | |
ich_r2Z47vjEshW2G3D | entity@example.com | business_entity | |
ich_mhJkvtc0qASXBXX | j.doe@example.com | individual |
メタデータ
各 Issuing オブジェクトのメタデータは、個別のテーブルに格納されます。これらのテーブルの名前は、オブジェクトのテーブルの名前の最後に _
を付けたものです (issuing_
など)。メタデータテーブルには、プライマリーテーブルの対応オブジェクトへの外部キーが含まれ、これを使用して 2 つのテーブルを結合できます。たとえば、issuing_
テーブルの各行には、issuing_
テーブルの id
行を参照する issuing_
列があります。
次の例では、issuing_
テーブルのメタデータテーブルからディクショナリーを作成します。次に、それを使用していくつかの取引のメタデータキー 'my_
の値にアクセスします。
with transactions_metadata_dictionary as ( select issuing_transaction_id, map_agg(key, value) metadata_dictionary from issuing_transactions_metadata group by 1 ) select date_format(it.created, '%Y-%m-%d') as day, it.id, it.amount, metadata_dictionary['my_label'] as my_label_value from issuing_transactions it left join transactions_metadata_dictionary on it.id = transactions_metadata_dictionary.issuing_transaction_id where element_at(metadata_dictionary, 'my_label') is not null order by day desc limit 3
日付 | id | 金額 | my_label_value |
---|---|---|---|
ipi_yUiZ4B4NFK3DfRh | 2000 | true | |
ipi_G0tYO5H7UyMjTUp | 100 | true | |
ipi_oLPJYQT2QhVO6MK | 10000 | false |