PIX QRコード:ブラジル決済のための静的BR Code
PIXはブラジルの即時決済システムで、そのQRコードはEMVのQR Code Payment Specificationに従います。他の地域の決済コードと同じ、フィールドと長さの文法です。静的PIXコードは受取人のキーを直接含むため、銀行アプリはサーバーへ問い合わせずに送金を組み立てられます。印刷が安く、オフラインでも使える一方、コードは固定されたスナップショットになります。
静的PIXコードの構造
各フィールドは2桁のID、2桁の長さ、値の順に書きます。ペイロードは00で始まり、63のCRCで終わります。26が加盟店口座のブロックで、サブフィールド00がPIXのスキーム、01がキーを保持します。
| フィールド | 例の値 | 役割 |
|---|---|---|
| 00 | 01 | ペイロード形式の識別子。 |
| 26 | br.gov.bcb.pix + キー | 加盟店口座情報。PIXのGUIと、CPF・CNPJ・メール・電話・ランダムキーのいずれか。 |
| 52 | 0000 | 加盟店カテゴリコード。不明なら0000が許容されます。 |
| 53 | 986 | 通貨。986はブラジルレアル。 |
| 58 | BR | 国コード。 |
| 59 | QrDeco Example | 加盟店名。最大25文字。 |
| 60 | Sao Paulo | 加盟店の都市名。最大15文字。 |
| 62 | 05 + txid | 追加データ。取引ID、なければ ***。 |
| 63 | 3C63 | このフィールドより前のすべてに対するCRC16-CCITT。 |
自分のキーでPIXコードを生成する
- 口座が実際に登録しているキー種を選びます。CPFとCNPJは数字、メールは表記どおり、電話は+55に番号、ランダムなEVPキーはUUIDのままです。
- フィールド52、53、58をそれぞれ0000、986、BRに設定します。
- 59と60には銀行が表示する名前と都市を入れます。どちらも文字数制限があり、マークアップは使えません。
- CRCを計算し、印刷用にSVG、決済ページ用にPNGで書き出します。
金額を空けておく
フィールド54を省略すると、支払う人が金額を入力します。54を含めるときは小数点にドットを使い、10.50 のように書きます(10,50 は不可)。アプリが金額を事前入力します。金額を空けるのはチップ、寄付、合計を先に決めるカウンター向け、固定金額は商品ページや単一価格のサービス向けです。
txidと照合
サブフィールド62-05は取引を識別します。*** は「IDなし」の意味で、匿名の募金箱には向きますが、店舗の日次売上の照合には役立ちません。25文字までの英数字で短い請求番号を入れ、どのコードをいつ印刷したかを記録しておきます。
よくある質問
静的PIXコードは動的コードと同じですか?
違います。静的コードはキーと固定データを含みます。動的コードはURLを含み、決済サービスがそれを請求に解決します。請求ごとの金額や期日はこの仕組みで実現します。
銀行アプリがコードを拒否するのはなぜですか?
ほとんどの場合CRCです。名前、都市、txidを変更したときも含め、編集後は必ずフィールド63を再計算し、各フィールドの長さが値と一致しているか確認します。
1つのPIXコードをすべての売上で使い回せますか?
金額を空けた静的コードなら可能ですが、売上ごとに新しいコードを作らない限りtxidは同じままです。使い回しは便利ですが、照合の仕組みにはなりません。