createInvoice

  • インボイスの作成

決済金額・商品名・通貨などの情報を送信してインボイスを作成し、暗号通貨による決済を開始します。 インボイスを作成すると、決済用のBitcoinまたはMonacoinアドレスが発行され、暗号通貨建ての請求が行なわれます。 インボイスには有効期限(現在30分としていますが、これは変更になる可能性があります)があり、有効期限内に顧客が決済用のアドレスへ支払を行うことにより、決済が完了します。

パラメータ

パラメータ 必須 詳細 値または例
method Yes メソッド名 str createInvoice
key Yes APIキー str
md5secret Yes(1) APIシークレットのmd5。(1)md5またはsha1のどちらかをセット str
sha1secret Yes(1) APIシークレットのsha1。(1)md5またはsha1のどちらかをセット str
nonce Yes 1以上の数を実行都度増分して送信します。増分量は少数点以下の値にも対応しております。 int
speed No 決済完了とみなすスピード。デフォルトはmedium high:0 cofirmation/medium:1 confirmation/low:6 confirmations str high medium low
notificationUri No 決済完了したタイミングでの通知先URI 事業者様のECサイトシステムに通知を行うためのものになります str
notificationMethod No 決済完了したタイミングでの通知先URIへ通知する際に使用されるHTTPメソッド。デフォルトはPOSTになります str GET または POST
redirectUri No 決済フォームで着金後、ECサイトへ戻るためのリダイレクト先のURI。設定されなかった場合はリダイレクトせず着金後のステータスが表示されます str
currency Yes 決済に使用する暗号通貨 str btc または mona
amount Yes 決済金額(日本円)。実際の請求対象金額。1円単位、カンマ無し int
subTotal No 小計(日本円) int
tax No 消費税(日本円) int
regularPrice No 定価(日本円)。割引前の金額 int
discount No 割引(日本円)。値引き額 int
merchantName No 店舗名 str
orderNumber No 注文番号。店舗側での識別用に任意の番号やコードを利用することができます str
referenceNumber No リファレンス番号。店舗側での識別用に任意の番号やコードを利用することができます str
itemName No 商品名 str
buyerId No 利用者ID str
buyerName No 利用者名 str
buyerKana No 利用者ふりがな str
buyerZip No 利用者郵便番号 str
buyerAddr1 No 利用者住所1 str
buyerAddr2 No 利用者住所2 str
buyerAddr3 No 利用者住所3 str
buyerPhone No 利用者電話番号 str
buyerCellphone No 利用者携帯番号 str
buyerEmail No 利用者メールアドレス str
  • speed(決済スピード)について
    highとすると、暗号通貨ネットワーク上での送金トランザクションについて、確認前の状態でも、着金次第決済完了とみなします。 mediumとすると、1件以上の確認が入ったタイミングで決済完了とみなします。これはbitcoinで平均10分、monacoinで平均2分程度になります。 lowとすると、6件以上の確認が入ったタイミングで決済完了とみなします。これはbitcoinで平均1時間、monacoinで平均12分程度になります。 highとすると顧客側の送金が完了したタイミングとほぼ同時に着金し、決済完了とみなされますが、万一このトランザクションがネットワーク上で認証されなかった場合、決済が後から取り消しされる場合があります。
  • 利用者の氏名・住所などについて
    利用者の氏名・住所・電話番号などのフィールドについては、送信していただくと決済フォームに表示されます。ただし、利用者IDについては表示されません。 決済フォームはインボイスIDがもれない限りアクセスすることができませんが、インターネット上ではアクセス制限なしに公開される状態になりますので、個人情報保護の観点から、必要でない場合(注文番号などから顧客が関連付けできる場合)は顧客の情報を送信されないことをお勧めします。

戻り値

  • 成功時のJSON、10800円をBTC決済でリクエストした例
{
    "success": 1,
    "return": {
        "invoiceId": "d7dd735c-1650-11e5-b412-4437e6999eec",
        "invoiceUri": "https://zaif.jp/invoice/form/d7dd735c-1650-11e5-b412-4437e6999eec",
        "invoiceIframeUri": "https://zaif.jp/invoice/iframe/d7dd735c-1650-11e5-b412-4437e6999eec",
        "created": 1434696690,
        "expired": 1434698490,
        "amount": 10800,
        "currency": "btc",
        "rate": "30012",
        "btc": "0.359856",
        "address": "19yhwoY8ysDNy1J1JBZf6nRBsUfLTe2Lvb",
        "BIP21": "bitcoin:19yhwoY8ysDNy1J1JBZf6nRBsUfLTe2Lvb?amount=0.359856",
        "speed": "high",
        "orderNumber": "<the order number if you sent>"
    }
}
  • 成功時のJSON、10000円をMONA決済でリクエストした例
{
    "success": 1,
    "return": {
        "invoiceId": "d0e521f5-287a-4d24-95d2-ec83a00ce173",
        "invoiceUri": "https://zaif.jp/invoice/form/d0e521f5-287a-4d24-95d2-ec83a00ce173",
        "invoiceIframeUri": "https://zaif.jp/invoice/iframe/d0e521f5-287a-4d24-95d2-ec83a00ce173",
        "created": 1434696670,
        "expired": 1434698470,
        "amount": 10000,
        "currency": "mona",
        "rate": "20.0000",
        "mona": "500.000000",
        "address": "M81ZgKgg16GCQ9a9dGzrtnSWma3dB15HDw",
        "BIP21": "monacoin:M81ZgKgg16GCQ9a9dGzrtnSWma3dB15HDw?amount=500.000000",
        "speed": "medium",
        "orderNumber": "<the order number if you sent>"
    }
}
  • returnパラメータ
キー 詳細 値または例
invoiceId 作成したインボイスを識別するためのID str 04e42516-1652-11e5-9eb4-4437e6999eec
invoiceUri 作成したインボイスに対する支払フォームのURI str
invoiceIframeUri 作成したインボイスに対するiframe版支払フォームのURI str
created インボイス作成日時。unixtime int
expired インボイスの有効期限。unixtime int
amount 決済対象金額(送信された金額) int
currency 決済対象の暗号通貨 str btc または mona
rate 決済時の換算レート int
btc Bitcoinによる請求額(bitcoinによる決済時のみ) int
mona Monacoinによる請求額(monacoinによる決済時のみ) int
address BitcoinまたMonacoinの決済用支払先アドレス str
BIP21 bitcoinまたはmonacoinの支払いURI str
speed 決済スピード(送信されたものまたはデフォルトで適用されたもの str
orderNumber 送信された注文番号(送信された場合のみ) str
referenceNumber 送信されたリファレンス番号(送信された場合のみ) str
buyerId 送信された利用者ID(送信された場合のみ) str

決済完了通知(notificationUri)について

notificationUriを設定した場合、speedで設定した状態となったタイミングで、決済完了の通知がHTTP(S)で送信されます。

  • 送信されるパラメータ
キー 詳細 値または例
invoiceId 作成したインボイスを識別するためのID str 04e42516-1652-11e5-9eb4-4437e6999eec
settled 決済完了日時。unixtime int
amount 決済対象金額(送信された金額) int
btc Bitcoinによる請求額(bitcoinによる決済時のみ) int
mona Monacoinによる請求額(monacoinによる決済時のみ) int
address BitcoinまたMonacoinの決済用支払先アドレス str
orderNumber 設定された注文番号(送信された場合のみ) str
referenceNumber 設定されたリファレンス番号(送信された場合のみ) str
buyerId 設定された利用者ID(送信された場合のみ) str
  • notificationMethodにGETを設定した場合は、パラメータは送信されません
    notificationMethodにGETを設定した場合は、パラメータは一切送信されません。 notificationMethodにGETを設定する場合、notificationUriに注文を識別できるような工夫をして設定してください
  • 通知のエラー時の対応について
    エラー時の再送については準備中です。

決済完了時のリダイレクト(redirectUri)について

顧客がzaif上の決済フォームを表示したまま送金(支払い)したとき、暗号通貨ネットワーク上で着金を確認したタイミングで自動的にリダイレクトされます。 redirectUriを設定してない場合はリダイレクトされず、こちらのフォームが表示されたままになります。その際、入金ステータスは自動的に更新されます。

Bitcoin建てまたはMonacoin建ての決済

円建てではなく、Bitcoin建てまたはMonacoin建てでの決済を行うことができます。 createInvoiceのbillingCurrencyパラメータ(一覧にはないパラメータです)に"btc"または"mona"を指定して下さい。このときcurrencyパラメータも同じ暗号通貨を指定する必要があります。 返り値からrateは削除されることに注意してください。 BTCまたはMONAがそのまま決済事業者様のアカウントに精算されますので、決済手数料は完全にゼロ%になりますが、円換算を行う際の相場の変動リスクはそのまま決済事業者様が担うことになりますことにご注意ください。