Paysys ペイシスの決済をphpでやるサンプル
https://api.paysys.jp/api/reference みてもよくわからないという方のためnのサンプルです
<?php
// リクエストデータの準備
$request = [
'settlement_type' => 'once', // 都度決済
'basic_order_parameters' => [
'order_name' => "カード支払い",
'order_price' => $rem3, // ダブルクォートに変更し変数展開
'name1' => $name1, // ダブルクォートに変更し変数展開
'name2' => $name2, // ダブルクォートに変更し変数展開
'kana1' => $name3, // ダブルクォートに変更し変数展開
'kana2' => $name4, // ダブルクォートに変更し変数展開
'mail' => $mail1, // ダブルクォートに変更し変数展開
'tel' => $tel1, // ダブルクォートに変更し変数展開
'delivery_type' => "mail",
'transaction_id' => "123456", //一意の数字など ダブルクォートに変更し変数展開
],
'store_transaction_law_items' => [
// 特商法表示に関する設定※item_9831などは設定の特定項目内容管理 一覧のAPIキーに合わせる
'item_9831' => '1', // 分量
'item_9832' => "{$rem33}円", // ダブルクォートに変更し変数展開
'item_9833' => "即カード払い", // 支払時期・方法
'item_9834' => "指定", // 引渡・提供時期
'item_9835' => "{$rem2}", // 申込期間
'item_9836' => "申込の中止はなし", // 申込の撤回、解除
'item_0458' => $rem1, // ダブルクォートに変更し変数展開
'item_0459' => $rem2, // ダブルクォートに変更し変数展開
'item_0460' => $rem4, // ダブルクォートに変更し変数展開
]
];
// ペイシスAPIのチャンネル秘密鍵とチャンネルID※管理者の画面からダウンロードして取得する
$ChannelSecretKey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx'; // 自分のチャンネル秘密鍵を設定
$ChannelId = 'xxxxxxxxxxxxxxxxxxxxxx'; // ペイシスの管理画面から取得したチャンネルID
// nonce (一意な値)
$nonce = (string)microtime(TRUE);
// 署名生成 (HMAC-SHA256)
$signaturePayload = $ChannelSecretKey . json_encode($request) . $nonce;
$signature = base64_encode(hash_hmac('sha256', $signaturePayload, $ChannelSecretKey, true));
// APIエンドポイント
$url = 'https://api.paysys.jp/api/orders'; // 正しいエンドポイントに変更
// cURL初期化
$ch = curl_init($url);
// cURLオプションの設定
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'X-Paysys-Channel-Id: ' . $ChannelId,
'X-Paysys-Authorization-Nonce: ' . $nonce,
'X-Paysys-Authorization: ' . $signature
));
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($request));
// APIリクエスト実行
$response = curl_exec($ch);
// HTTPステータスコードの取得
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// エラーチェック
if (curl_errno($ch)) {
echo 'cURL Error: ' . curl_error($ch);
} else {
echo 'HTTP Status Code: ' . $httpcode . "\n";
echo 'Response: ' . $response . "\n";
}
// cURLセッションを閉じる
curl_close($ch);
header("Location: {$hp_url}/");//URLでthanksぺーじなどに飛ばす
exit;
管理画面のメール配信履歴 一覧に送信済みと表示されます。