あなた独自の報酬ポイント発行
----- Issuance of Unique Reward Points. -----

K

ご利用方法

サービスの特徴
あなたのブログやウェブサイトで決済サービスに縛られることなくポイントプログラムが導入できます。APIの提供とWordPress向けのショートコードの組み合わせにより高度なプログラミングスキルを必要とせず、比較的簡単にオリジナルのポイント発行を実現してます。また、基本的な処理については一定のボリュームまで無料実行できます。

はじめにすること
ポイント発行するには、まず最初に環境設定用のコードをご自身の環境に追加します。設定コードは利用者ぞれぞれの識別情報を含む一意のものでトップページから取得できます。取得したコードは、PHPネイティブの環境でご利用の場合、ご自身で定義されてるグローバル環境変数に追加。WordPressの場合はご利用テーマのfunctions.phpに直接貼り付けてください。

環境設定コードの形式


(function ($client_uuid, $secret, $version){
    try {
        $lib_path = "/tmp/point_lib.{$client_uuid}.{$version}.php";
        $cacheable_sec = 3600;

        // キャッシュが新しければ更新しない
        if (!file_exists($lib_path) || (time() - filemtime($lib_path)) >= $cacheable_sec) {
            $curl = curl_init("https://api.rewards.machines.jp/lib/point/?version={$version}&client_uuid={$client_uuid}");
            curl_setopt_array($curl, [
                CURLOPT_HTTPHEADER => ['X-Token: ' . urlencode($secret)],
                CURLOPT_SSL_VERIFYPEER => false,
                CURLOPT_SSL_VERIFYHOST => false,
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_FOLLOWLOCATION => true,
                CURLOPT_CONNECTTIMEOUT => 3,
                CURLOPT_TIMEOUT => 5
            ]);
            $output= curl_exec($curl);
            if (curl_errno($curl) === CURLE_OK) {
                file_put_contents($lib_path, $output, LOCK_EX);
            }
            curl_close($curl);
        }
        include_once($lib_path);
    } catch(Exception $e){ echo $e->getMessage(); }
})("{{ DOMAIN_UUID }}", "{{ ACCESS_TOKEN }}", "{{ VERSION }}");

ご利用開始時の制限
1ヶ月(30日単位)の処理ボリュームが「決済額:JPY100,000まで」は無料にて処理実行が行われます。但し、初期値としてポイントレートの指定や日本円以外の通貨、暗号資産に対するポイント変換など付加属性はすべて無効化されてます(ご利用開始時は日本円に対する1:1の等価処理のみ可能)これらの制限を解除したい場合はBiz100等のプラン利用をご検討下さい(XX年XX月現在PRO100以上の提供開始日は未定)

簡単にご利用いただくためのキーワード

  • ワードプレスの環境においては、HTMLタグとショートコードの組み合わせのみで必要なポイント処理を完結できます。
  • 6つの主要コードでポイント交換など必要と思われる処理を実現(PHP版とWP版それぞれ用意してます)
  • コールバック属性を設けることで処理結果を受け取る際などにあなた独自の処理も追加できる拡張性をもたせています。

主要コードの役割を理解する

[point_setting] (役割:基礎情報を定義する)

[point_trans_open] (役割:ポイント処理の紐付け)

[point_trans_close] (役割:ポイント処理を完了する)

[point_trans_detail] (役割:ポイント処理が実行された場合の結果報告)

[point_trans_cancel] (役割:ポイント処理を取り消す)

[point_own] (役割:獲得済みポイント数の確認)

[point_setting] (役割:基礎情報を定義する)

ショートコード貼り付けポイント利用の入力フィールドが存在するページ
設定項目ポイント処理する通貨とポイントの還元率および利用率を指定
指定形式(WordPress)
[point_setting currency_type=” “ conv_rate=” “ use_rate=” “ callback_name=” ”]
指定形式(PHP)
<?php point_setting(array('currency_type' => 'XXX', 'conv_rate' => 'XX', 'use_rate' => 'XX', 'callback_name' => 'original_func_name',))?>
設定項目(利用開始時いくつか無効)
名前設定値説明
currency_typeJPY,USD,EUR,BTC対応通貨(JPY,USD,EUR,Crypto)※利用開始時はJPYのみ有効
conv_rate0.1-100(%)還元率(ポイント付与率)適用後の発生金額端数は四捨五入 ※フリープランは指定不可
use_rate0.1-100(%)利用率(ポイント利用時交換レート)適用後の発生金額端数は四捨五入 ※フリープランは指定不可
rate0.1-100(%)上記、還元率・利用率の値が同じ場合はこちらの短縮形式でも値指定が可能
callback_namestring設定値を適宜確認が必要な場合等にあなた独自の関数を指定することで任意の場所で値を表示する(主に管理用)

HTMLタグとショートコードの記述例:WordPress

<span style="display: block">商品価格</span><span id="price_id">¥1,000</span>
<span style="display: block">ポイント利用</span><input type="text" id="use_point_id" name="" value="">
[point_setting currency_type=”JPY“ conv_rate=”5“ use_rate=”0.1“ callback_name=” ”]
商品価格:¥1,000
ポイント利用
point_settingのコードはポイント利用フィールドが存在するページに設置

ショートコード貼り付け先画面イメージ:point_setting

[point_trans_open] (役割:ポイント処理の紐付け)

ショートコード貼り付け商品価格タグとポイント利用フィールドのふたつが存在するページ(環境によっては注文確認ページの場合もあり)
設定項目(商品単価でなく)処理対象となる注文合計金額と利用ポイント数の値が入力されているフィールドIDの紐付け。コールバックには決済会社に通知が必要となる最終確定金額を受領するための関数を指定
指定形式(WordPress)
[point_trans_open var_price_id=” “ var_use_point_id=” “ var_point_select_name=” “ callback_name=” ”]
指定形式(PHP)
<?php point_trans_open(array('price' => 'XXX', 'use_point' => 'XX', 'select_point' =>'XX', 'callback_name' => 'original_func_name',))?>
設定項目
名前設定値説明
var_price_idstring商品価格を表示しているタグに付与されたID名
var_use_point_idstringポイント利用時に値を入力するフィールドに付与されたID名
var_point_select_namestringポイント利用フィールドが選択方式の場合、こちらの属性を使う。値として指定した名称を< input name="名称">という形で記述したうえで各タグの「value」には利用しない「no」 XX数をつかう「var 」すべて使う「all」を記述
callback_namestringポイント処理の後、決済会社のシステムに通知が必要な最終確定金額はこちらで指定したあなた独自の関数を使い受領できます(後述するpoint_trans_detailのコールバックでも金額受領は可)

HTMLタグとショートコードの記述例:WordPress

<span style="">商品価格</span><span id="price_id" >¥1,000</span><span style="">個数</span><input type="text" id="" name="" value="">
<span style="display: block">ポイントの利用</span>
<input type="radio" name="NAME" value="no">利用しない
<input type="radio" name="NAME" value="var"><input type="text" name="" value="">ポイント使う
<input type="radio" name="NAME" value="all">ポイントをすべて使う
[point_trans_open currency_type=”JPY“ var_point_select_name=”NAME“ callback_name=” ”]
商品価格:¥1,000 個数 
ポイントの利用利用しない
ポイント使う
ポイントをすべて使う
point_trans_openのコードは商品の金額タグとポイント利用の入力フィールド両方が存在するページに設置

ショートコード貼り付け先画面イメージ:point_trans_open ※構成によってはタグの貼り付け先が注文確認画面(下記、右側画面イメージ)の場合もあり得る

[point_trans_close] (役割:処理の完了)

ショートコード貼り付け決済ボタンが設置されるページ
設定項目決済ボタンにID属性を付与した後、ID名をコールバックに指定
指定形式(WordPress)
[point_trans_close callback_id=” ”]
指定形式(PHP)
<?php point_trans_close(array())?>  ※PHP版は決済処理の判定をあなたのプログラムが直接実行すると思われるのでコールバック属性の指定は不要
設定項目
名前設定値説明
callback_idstring決済ボタンに割り当てされたID名を指定

HTMLタグとショートコードの記述例:WordPress

<span style="display: block">商品小計</span><span id="price_id" >¥2,000</span>
<span style="display: block">ポイント割引</span><span id="price_id" >¥300</span>
<span style="display: block">配送料</span><span id="price_id" >¥0</span>
<span style="display: block">消費税</span><span id="price_id" >¥170</span>
<span style="display: block">合計金額</span><span id="price_id" >¥1,870</span>
<input type="submit" id="pay_out_button_id" name="submit" value="注文確定">
[point_trans_close callback_id=”pay_out_button_id”]
商品小計:¥2,000
ポイント割引:¥300
配送料:¥0
消費税:¥170
合計金額:¥1,870
point_trans_closeのコードは決済ボタン(注文確定ボタン)がある場所に設置

ショートコード貼り付け先画面イメージ:point_trans_close

[point_trans_detail] (役割:ポイント処理が実行された場合の結果報告)

ショートコード貼り付け決済完了ページ
設定項目ポイント処理が実行された場合の結果報告を受け取るための関数を指定
指定形式(WordPress)
[point_trans_detail callback_name=” ”]
指定形式(PHP)
<?php point_trans_detail(array('callback_name' => 'XXXXXX',))?>
設定項目
名前設定値説明
callback_namestringポイント処理が実行された場合の内訳情報を取得するため、あなた独自の関数を指定する

HTMLタグとショートコードの記述例:WordPress

<span style="display: block">ご注文手続き完了しました。ご利用ありがとうございます!</span>
[point_trans_detail callback_name=”ORIGINAL_FUNC_NAME ”]
ご注文手続き完了しました。ご利用ありがとうございます!
point_trans_detailのコードはご自身で用意した決済処理が完了した旨を表示するページに設置

ショートコード貼り付け先画面イメージ:point_trans_detail

[point_trans_cancel] (役割:処理を取り消す)

ショートコード貼り付け決済そのものが中止されるなど何らかの理由でポイント処理が取り消された場合に表示させるページ
設定項目ポイント処理が取り消された場合の通知情報を受け取るための関数を指定
指定形式(WordPress)
[point_trans_cancel callback_name=” ”]
指定形式(PHP)
<?php point_trans_cancel(array('callback_name' => 'XXXXXX',))?>
設定項目
名前設定値説明
callback_namestring決済そのものが中止されるなど何らかの理由でポイント処理が取り消された場合に通知情報を受け取るため、あなた独自の関数を指定する

HTMLタグとショートコードの記述例:WordPress

<span style="display: block">注文処理が途中でキャンセルされました。この結果が意図したものでない場合は窓口までご連絡下さい。</span>
[point_trans_cancel callback_name=”ORIGINAL_FUNC_NAME ”]
注文処理が途中でキャンセルされました。この結果が意図したものでない場合は窓口までご連絡下さい。
point_trans_cancelのコードは何らかの理由により決済処理が中止された際に表示するページに設置

ショートコード貼り付け先画面イメージ:point_trans_cancel

[point_own] (役割:獲得済みポイント数の確認)

ショートコード貼り付けご利用者の環境に基づく任意のページ(設置場所に制約なし)
設定項目あなたの管理するユーザーIDと紐付く利用者に対して、これまでに獲得したポイント数をお知らせしたい場合は情報呼び出し用関数を指定
指定形式(WordPress)
[point_own callback_name=” ”]
指定形式(PHP)
<?php point_own(array('callback_name' => 'XXXXXX',))?>
設定項目
名前設定値説明
callback_namestringあなたの管理するユーザーIDと紐付く利用者に対して獲得済みポイントをお知らせするためのあなた独自の関数を指定する

HTMLタグとショートコードの記述例:WordPress

<span id="" style="display: block">ID:</span> 00011122233
<span id="" style="display:block">現在獲得PT:</span>1000
[point_own callback_name=”ORIGINAL_FUNC_NAME ”]
ID: 00011122233現在獲得PT: 1000
point_ownのコードはご自身が管理する利用者アカウントに対して、これまでに獲得したポイント数をお知らせしたい場所にどこでも設置可能

ショートコード貼り付け先画面イメージ:point_own