サイン&ディスプレイ ブログ - coiney php api サンプル コード - 2019-05-16

coiney php api サンプル コード

2019-05-16 - ネットでポップ ウェブマスターブログ

Coiney(コイニー)のAPIをPHPで呼び出す。

皆さんこんにちは! ネットでポップのウェブマスターをしているラビーズの"ジキル"です。

今日は、ネットでポップ が、サイトでクレジットカード情報を入力して、決済する仕組みが欲しいとのことだったので、
・決済サービスCoiney
を利用して、
おなじみのPHPスクリプトから、Coiney API を呼び出して、カード情報の入力画面を作成(ペイジ作成)
を試してみたいと思います。

コイニーサポートチームから、審査結果のお知らせ というEメールが届いているはずですが、そこに書かれている
「ログインメールアドレス」と「パスワード」でログインします。

管理画面の
Coineyペイジ > 開発者用設定
の画面を開くと、

シークレットのAPIキーが表示されます。
xx_xx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (安全の為表示していません)

これが必要になります。

サンプルソース
show_paymentUrl.php


/*
Coiney さんの指示
通信をすべて暗号化してください。https接続は必須です。
リクエスト時のパラメータ
https://github.com/Coiney-SDK/CoineyKit-Payge/blob/master/api/payments/create.md
エラー、レスポンス一覧
https://github.com/Coiney-SDK/CoineyKit-Payge/blob/master/api-spec/errors.md
テスト決済
現在テスト決済のシステムを準備中です。 < だそうです。(2019/5/15)
*/

// デバッグスイッチ
$debug = 0;

// APIのURLは共通のようでした
$url = 'https://api.coiney.io/api/v1/payments';

// 管理者としてログインした後、開発者用設定で表示される、シークレットAPIキー
$api_key = "sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; // ご自分のシークレットAPIキー
$ammount = 100.00; // 請求する金額を円で
// ポストするデータを配列に保存
$post_data = array();
$post_data['amount'] = $ammount; // 請求金額
$post_data['currency'] = "jpy"; // 通貨
$post_data['locale'] = "ja_JP"; // ロケール。カード情報入力画面の言語
$post_data['redirectUrl'] = "https://www.netdepop.com/thanks.html"; // 完了後に表示するページ
$post_data['webhookUrl'] = "https://xxxxxxxx.payge.co"; // 指定したwebhookURL
$post_data['method'] = "creditcard"; // 支払い方法
$post_data['subject'] = "【ネットでポップ】クレジットカード払い"; // カード情報入力画面のタイトル
$post_data['description'] = "ウェブサイトからの支払い"; // 適用
$post_data['remarks'] = "お支払い期日を過ぎますと自動的にキャンセルとなります。あらかじめご了承ください。"; // 備考
$post_data['metadata']['orderId'] = $order_serial; // オーダーID

$post_data_json = json_encode($post_data); // POST するデータを json に変換

if($debug){
echo "\post_data ------------------------\n\n";
var_dump($post_data);
echo "\post_data_json ------------------------\n\n";
echo $post_data_json;
}



// php の curl にてAPIを叩く
$ch=curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $url, //
CURLOPT_FOLLOWLOCATION => 1, //
CURLOPT_RETURNTRANSFER => 1, // 結果を出力せずに値で返す
CURLOPT_MAXREDIRS => 10, //
CURLOPT_TIMEOUT => 30, //
CURLOPT_CUSTOMREQUEST => "POST", //
CURLOPT_POST => 1, //
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer " . $api_key,
"X-CoineyPayge-Version: 2016-10-25",
"Accept: application/json",
"Content-Type: application/json"
),
CURLOPT_POSTFIELDS => $post_data_json, // 上で用意したjson 文字列
));





// 実行
$response = curl_exec($ch); // json文字列で返される
$arr_response = json_decode($response, true); // jsonを配列に保存

if($debug){
$err = curl_error($ch); // エラーを取得する
$info = curl_getinfo($ch); // インフォを取得する

echo "\nerror ------------------------\n\n";
var_dump($err);
echo "\info ------------------------\n\n";
var_dump($info);
echo "response from Coiney ------------------------\n\n";
print_r($arr_response);
}


curl_close($ch); // ch を閉じる
// ここまでで Coiney からの返事がもらえた



/*
Coineyからのお返事による処理

支払いの状態 (ステータス一覧)
open 未払い
expired 期限切れ
paid 支払済み
refunded 売上取消・返品済み
cancelled 無効

*/

if($arr_response['status']=="open"){
//print("ステータスは: ".$arr_response['status']."
\n");
?>

}else{
// htmlでエラーページを表示
?>




クレジットカード会社との交信に失敗しました。


ご注文は完了しておりますが、カードの決済はまだできておりません。


後ほど支払いのURLを担当者からお送りさせていただきます。


ご不便をおかけして申し訳ありません。





print("Unexpected status from Coiney: ".$arr_response['status']."
\n");
print_r($arr_response);
print("Back");
exit;
}


exit;
?>

Coineyのカード情報入力ページが開けば成功です。
決済が成功した画面の見本
thanks.html





購入完了画面


購入が完了しました。





完了した決済はCoineyの
売上 > 売上一覧
から確認できます。

Coineyのサイト

決済サービスCoiney

終わりに

こんな感じで簡単にペイジーの作成ができました。
Coineyは導入したが、注文ををもらってから、ペイジを作成するのが手間だ!と思っている方、是非試してみてください。
ラビーズでは、ウェブサイトのプログラミングのお手伝いも行なっています。1時間6千円で、この程度の依頼は2時間くらいです。

ブログランキングに参加しています。もしよろしければ、1票を投じてください。

キーワード: ポスター 無料 Coiney PHP サンプル コード 見本 API

サイン&ディスプレイ ブログ一覧ページ


ポスター印刷ならネットでポップ

パネル印刷 − お気に入りの1枚から写真パネルを制作しませんか?

更新日[ 2019/05/16 ]

出力・加工・作成サービス

ポスター印刷

ポスター印刷/大判出力

お客様の原稿からポスターを作成。

デジタルカメラプリント

インスタフレーム・枠

お客様のデータから、インスタグラム風の枠を作成できます。

パネル加工

写真パネル/パネル加工

写真パネル制作、パネル印刷などと呼ばれる、パネル加工。

アルミフレーム/額縁

アルミフレーム/額縁

印刷したポスターにアルミフレームを取り付けます。

タペストリの作成

タペストリ印刷/制作

つり下げることを目的としたディスプレイ。タペストリの作成。

差替え自由アルミ額縁

差替え自由アルミ額縁

中身の印刷物を簡単に差替えることができるアルミフレームパネルです。

デジタルカメラプリント

デジカメジャンボプリント

デジタルカメラで撮影したお気に入りの写真を、おおきなサイズでプリント。

イラストレータパス取り代行

イラストレータパス取り

画像ファイルのロゴマークなどを、EPSファイルに変換。

用紙・メディアの種類

用紙・メディアの種類

印刷に利用するメディアの種類と特徴。

ラミネート加工

ラミネート加工(PP加工)

印刷したポスターや写真にラミネート加工。

カッティングシート制作

カッティングシート制作

窓や車などに利用できるカッティングシート作成。