カード発行データのクエリ
Sigma または Data Pipeline を使用して、カード発行情報を取得します。
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
| カ月 | approved | 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_YsBrSRg8SsCJeaM | 150 | 151 | |
| ipi_JhmkbDL1pZuFNgi | 0 | 1,000 | |
| ipi_rVUtKdfmD80oQe6 | 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 | メール | type |
|---|---|---|---|
| ich_ebFBiROFyWrXLAr | j.smith@example.com | individual | |
| ich_ues1cskVkNAyHmc | entity@example.com | business_entity | |
| ich_opgD4PAqcpxDbqT | 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_bS6udck55RsDHSO | 2000 | true | |
| ipi_cIBp6VzeWdySbiP | 100 | true | |
| ipi_vwigPKooS6BGrKF | 10000 | false |