SPIKE API (SPIKE Checkout)を使ってみる

FinTech

背景

https://spike.cc/

概要

  • SPIKEの特徴
    • サンドボックス環境はアカウントを作るだけで利用出来ます。
    • 本番環境でSPIKEのAPIを利用するためには月額3,000円のビジネスプレミアムに申し込む必要が有ります。
  • この記事ではサンドボックス環境でテストしてみます。

SPIKE開発ドキュメント

SPIKE Checkout利用時のシーケンス

  • 単発決済の場合のシーケンスを書いてみました。
    • SPIKE Checkoutを利用しないで、Token APIを利用すれば、自分のサイト上でユーザがクレジットカード情報を入力させることもできます。その場合は、Full APIに申し込む必要が有ります。
  • シーケンス図は、FastPayの時に書いた物を流用したので、FastPayをSPIKEに読み替えて頂ければと思います。
fastpay_sequence

デモ

1ページ目

  • FastPayと違い、ボタンや、処理をマーチャントが自由に書けます。
SPIKE Checkout demo

2ページ目

  • 以下のような結果表示が出たら成功です。
SPIKE API result
  • 決済部分の主要コードは以下のようになります。
  • FastPayとは、APIを作ってくれた方の設計思想の違いにより、呼び出し方はちょっと違います。
    <?php
    $spike = new \Issei\Spike\Spike(trim(file_get_contents('./secret.key')));
    $token = new \Issei\Spike\Model\Token($card_token);
    // 課金を作成
    $request = new \Issei\Spike\ChargeRequest();
    $request
    ->setToken($token)
    ->setAmount(666, 'JPY')
    ->setCapture(false) // If you set false, you can delay capturing.
    ;
    $product = new \Issei\Spike\Model\Product('my-product-00001');
    $product
    ->setTitle('Product Name')
    ->setDescription('Description of Product.')
    ->setPrice(333, 'JPY')
    ->setLanguage('JA')
    ->setCount(2)
    ->setStock(97)
    ;
    $request->addProduct($product);
    $charge = $spike->charge($request);
    var_dump($charge);
    // 課金を確定
    $charge = $spike->capture($charge);
    var_dump($charge);
    // 課金を取り消し
    $response = $spike->refund($charge);
    var_dump($response);
    view raw post.php hosted with ❤ by GitHub

SPIKEで結果確認

spike developer dashboard

まとめ

  • SPIKE Checkoutを使って、仮売上、実売上、実売上キャンセルを行いました。
  • SPIKE APIのPHPライブラリに微妙に不具合があったので修正しました。

Comments

  1. Issei.M より:

    バグ修正のPRありがとうございました!早速マージさせて頂きましたm(__)m

タイトルとURLをコピーしました