Rewald | Custom Rewards Builder.

リワルド | Rewaldで自分好みの報酬プログラムを設計しよう!

はじめに

Rewald(リワルド)を使えば、クレジット決済会社の制約を受けずに、あなた自身のブログやオンラインショップで独自の報酬ポイントプログラムを運用できます。WordPressに対応したショートコード(機能コード)と専用のAPIにより、開発の手間を抑えつつ、手軽に自分たちのポイントプログラムをはじめることが可能です。

 導入準備

あなた独自の報酬ポイントプログラムを始めるには、Rewald(リワルド)の環境コードを取得して、ご自身のサイトに追加するところからスタートします。このコードには、APIと連携するための制御命令と、あなたの識別情報が含まれています。取得したコードは、独自開発のサイトであれば、グローバル変数の定義ファイルに追加。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 }}");

※ ACCESS_TOKENは機密情報です。第三者に漏らさないよう注意してください。

環境コード生成

あなたのサイトに報酬ポイントプログラムを導入するためのコードを生成します。

例: www.your-site.com
エラーメッセージがここに表示されます

導入方法

  • 独自開発サイト: グローバル変数定義箇所にコードを貼り付け
  • WordPress: テーマのfunctions.phpに追加

ご利用時の無料枠
1ヶ月(30日単位)あたり決済金額「JPY100,000」までは無料枠の処理扱いです。但し、利用開始直後の状態を維持したままだと、レートの指定やJPY以外の通貨処理など付加属性の値指定はすべて無効化されたまま、日本円に対する1:1の等価処理のみ実行されます。これらの制限を解除したい場合はサブスクリプション契約をご検討下さい。
現在(XX年XX月時点)全ての制限が解除されたサブスクリプション契約の利用は一部のユーザー様のみに提供しております。

 Rewald(リワルド)の特徴

  • WordPressサイトで独自の報酬ポイントプログラムの運用をおこなう場合は、HTMLタグとショートコード(機能コード)の組み合わせだけで必要なポイント処理を実現できます。
  • 複雑になりがちなポイント関連の処理もn個の主要コードとAPIの連携により、運用環境の差異を極力吸収することで、実装時の作業負担を軽減しています。
  • 主要コードには、それぞれに「callback(コールバック)」属性が設けられていますから、この仕組みを使えば、あなた独自の処理を追加することができるなど、拡張性や柔軟性といった事にも配慮した設計が施されています。

 ポイント処理の仕組み

Rewald(リワルド)によるポイント処理は以下の構成によって実現しています。

  1. [point_setting] (基礎情報の定義)
  2. [point_trans_open] (決済との紐付け)
  3. [point_trans_close] (処理完了トリガー)
  4. [point_trans_detail] (実行結果の通知)
  5. [point_trans_cancel] (処理キャンセル時の通知)
  6. [point_own] (獲得済みポイント数の表示)

 ショートコード(機能コード)の使い方

point_setting:基礎情報の定義

役割基礎情報を定義する
設定内容ポイント処理の対象となる通貨と実行時の料率(還元と使用)を指定
設置場所ポイント入力欄のあるページ
指定可能な属性(利用開始直後はcallbackのみ有効)
名前設定値説明
currency_typeJPY,USD,EUR,BTC対応通貨(JPY,USD,EUR,Crypto)※利用開始直後はJPYのみ有効
conv_rate0.1-100(%)還元率(ポイント付与率)適用後の発生金額端数は四捨五入 ※利用開始直後は指定不可
use_rate0.1-100(%)使用率(ポイント利用時交換レート)適用後の発生金額端数は四捨五入 ※利用開始直後は指定不可
rate0.1-100(%)料率の値が同じ(conv_rate=use_rate)場合は、rateにまとめた代替指定が可能です
callback_namestring設定値の確認が必要な場合などに独自の呼び出し関数を指定することで任意の場所に指定値を表示する
WordPressショートコード(機能コード)
[point_setting currency_type="xxx" conv_rate="xx" use_rate="xx" callback_name="xxxx"]
PHP関数
<?php point_setting(array('currency_type' => 'xxx', 'conv_rate' => 'xx', 'use_rate' => 'xx', 'callback_name' => 'xxxx',))?>

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:決済との紐付け

役割対象となる決済との紐付けをおこなう(いわゆるショッピングカートなどに表示された、決済対象の合計金額に対してポイント処理を追加する)
設定内容決済金額(商品価格合計)と利用ポイント数の紐付け。callback(コールバック)には決済会社に通知するポイント処理後の最終確定金額を受領するための関数を指定
設置場所商品価格とポイント入力欄の両方が存在するページ
指定可能な属性
名前設定値説明
var_price_idstring商品価格を表示しているタグに付与されたID名(識別IDがない場合は付与する)
var_use_point_idstringポイント入力欄に付与されたID名(識別IDがない場合は付与する)
var_point_select_namestringポイント入力欄が選択方式の場合は、上記の「var_use_point_id」でなく、こちらの属性を使う。指定した識別名称値を< input name="名称">という形で記述した後、各タグの「value」値には「no」=利用しない 「var 」=n数ポイントをつかう 「all」=すべて使う。という組み合わせ形式で記述する
callback_namestringポイント処理後の決済会社のシステムに通知が必要な最終確定金額はこちらで指定したあなた独自の関数をつかって受領します
WordPressショートコード(機能コード)
[point_trans_open var_price_id="xxx" var_use_point_id="xxx" var_point_select_name="xxx" callback_name="xxxx"]
PHP関数
<?php point_trans_open(array('price' => 'xxx', 'use_point' => 'xxx', 'select_point' =>'xxx', 'callback_name' => 'xxxx',))?>

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 var_point_select_name=”NAME“ callback_name=” ”]
商品価格:¥1,000 個数 
ポイントの利用利用しない
ポイント使う
すべて使う
point_trans_openのコードは商品の金額タグとポイント入力欄の両方が存在するページに設置

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

point_trans_close:処理完了トリガー

役割ポイント関連の処理を終わらせる
設定内容注文確定(決済)ボタンと紐付けることで、ポイント関連の処理も連携して確実に終わらせる。callback(コールバック)には決済ボタンに付与したID名を指定
設置場所注文確定(決済)ボタンが設置されるページ
指定可能な属性
名前設定値説明
callback_idstring注文確定(決済)ボタンに付与したID名(識別IDがない場合は付与する)
WordPressショートコード(機能コード)
[point_trans_close callback_id=”xxxx”]
PHP関数
<?php point_trans_close(array())?>  

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:実行結果の通知

  
役割ポイント処理の実行結果を報告する
設定内容処理結果を受け取るための関数を指定
設置場所注文完了ページ
指定可能な属性
名前設定値説明
callback_namestringポイント処理が実行された後の結果情報を取得するための関数を指定する
WordPressショートコード(機能コード)
[point_trans_detail callback_name=”xxxx”]
PHP関数
<?php point_trans_detail(array('callback_name' => 'xxxx',))?>

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

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

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

point_trans_cancel:処理キャンセル時の通知

役割ポイント処理の実行を取り消す
設定内容ポイント処理が取り消された場合の通知を受け取るための関数を指定
設置場所何らかの理由でポイント処理が取り消された場合に表示させるページ(例:注文キャンセルページ)
指定可能な属性
名前設定値説明
callback_namestringポイント処理が取り消された後の結果情報を取得するための関数を指定する
WordPressショートコード(機能コード)
[point_trans_cancel callback_name=”xxxx”]
PHP関数
<?php point_trans_cancel(array('callback_name' => 'xxxx',))?>

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

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

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

point_own:獲得済みポイント数の表示

役割対象者の獲得済みポイント数を確認する
設定内容ポイントの保有者などに、これまで獲得したポイント数をお知らせする場合の関数を指定
設置場所設置場所に制約なし(例:利用者のマイページなど)
指定可能な属性
名前設定値説明
callback_namestringポイント保有者などに獲得済みポイントをお知らせするための独自関数を指定する
WordPressショートコード(機能コード)
[point_own callback_name=”xxxx”]
PHP関数
<?php point_own(array('callback_name' => 'xxxx',))?>

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