GMO の支払い停止する API です。
コンビニの再指定、金額の変更 など一度登録した取引に変更を与える際、
すでに登録していた取引を停止させるための API です。
| メソッド | URI | Headers |
|---|---|---|
{GmoApiUrl}/CvsCancel |
Default |
| パラメーター名 | 必須 | 型 | 桁 | 項目名 | 特記 |
|---|---|---|---|---|---|
| version | CHAR | 3 | バージョン | パラメータバージョン (予約項目のため、省略してください。) |
|
| shopID | 〇 | CHAR | 13 | ショップ ID | 弊社が発行する値を設定します。 |
| shopPass | 〇 | CHAR | 8 | ショップパスワード | 弊社が発行する値を設定します。 |
| accessID | 〇 | CHAR | 32 | 取引 ID | 【取引登録】で発行された値を設定します。 |
| accessPass | 〇 | CHAR | 32 | 取引パスワード | 【取引登録】で発行された値を設定します。 |
| orderID | 〇 | CHAR | 27 | オーダー ID | 【取引登録】で指定した値を設定します。 |
※ GMOAPI から必要であろうパラメーターのみ記載しています。
{
"shopID" :"tshop11223344",
"shopPass" :"9xxyifua",
"accessID" : "8867bfeec7b7fc35f78320d01c9a6c10",
"accessPass" : "c07822acefba90d95417ae37beb198de",
"orderID" : "TEST-20190628-133057",
}
ステータスコード:200
| パラメーター名 | 型 | 桁 | 項目名 | 特記 |
|---|---|---|---|---|
| orderID | CHAR | 27 | オーダー ID | 【決済実行】呼出時に指定した値を返却します。 |
| status | CHAR | - | 現状態 | 成功時はCANCELが返却されます。 |
{
"orderID" : "TEST-20190628-115812",
"status" : "CANCEL",
}
ステータスコード:不明
| パラメーター名 | 型 | 桁 | 項目名 | 特記 |
|---|---|---|---|---|
| ErrCode | CHAR | 3 | エラーコード | エラー発生時のみ 複数ある場合は"|"で接続された文字列 |
| ErrInfo | CHAR | 9 | エラー詳細コード | エラー発生時のみ 複数ある場合は"|"で接続された文字列 |
・エラー時(複数エラーがある場合は下記のような形式にて出力されます。ErrCode の n 番目と ErrInfo の n 番目は対となります)
[
{
"errCode":"E01",
"errInfo":"E01010001"
},
{
"errCode":"E01",
"errInfo":"E01020001"
},
]
{warning} 成功か失敗かはステータスコードで判別できる
// リクエストコネクションの設定
$curl=curl_init();
curl_setopt( $curl, CURLOPT_POST, true );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $curl, CURLOPT_URL, 'https://p01.mul-pay.jp/payment/CvsCancel.idPass' );
$param = [
'ShopID' => 'YourShopId',
'ShopPass' => 'YourShopPassword',
'AccessID' => 'SampleAccessID',
'AccessPass' => 'SampleAccessPass',
'OrderID' => 'SampleOrderID'
];
// リクエストボディの生成
curl_setopt( $curl, CURLOPT_POSTFIELDS, http_build_query( $param ) );
// リクエスト送信
$response = curl_exec( $curl );
$curlinfo = curl_getinfo( $curl );
curl_close( $curl );
// レスポンスチェック
if( $curlinfo[ 'http_code' ] != 200 ){
// エラー
return false;
}
// レスポンスのエラーチェック
$dataMap = explode('&', $response);
$data = array();
foreach ($dataMap as $value) {
$splitArray = explode('=', $value, 2);
if (2 == count($splitArray)) {
$data[$splitArray[0]] = $splitArray[1];
}
}
if( array_key_exists( 'ErrCode', $data ) ){
// エラー
return false;
}
// 正常
return true;