GMO に請求情報を登録する API です。
必ず請求情報の登録 → 決済実行の手順をとります。
自社請求レコードと必ず同一情報になるようにします。
これ以降の決済取引で必要となる取引 ID と取引パスワードの発行を行い、取引を開始します。
| メソッド | URI | Headers |
|---|---|---|
{GmoApiUrl}/EntryTranCvs |
Default |
| パラメーター名 | 必須 | 型 | 桁 | 項目名 | 特記 |
|---|---|---|---|---|---|
| version | CHAR | 3 | バージョン | パラメータバージョン (予約項目のため、省略してください。) |
|
| shopID | 〇 | CHAR | 13 | ショップ ID | GMO が発行する値を設定します。 |
| shopPass | 〇 | CHAR | 10 | ショップパスワード | GMO が発行する値を設定します。 |
| orderID | 〇 | CHAR | 27 | オーダー ID | 加盟店様が取引を識別するための値を設定します。尚重複不可。ユニークとしてください |
| amount | 〇 | NUMBER | 6 | 利用金額 | 下限金額(利用金額+税送料)は契約により異なります。税抜金額です。 |
| Tax | △ | NUMBER | 6 | 税送料 | 税額を記載してください。GMO で必須ではないですが KIZUNA で必須です。 |
{
"shopID" :"tshop11223344",
"shopPass":"9xxyifua",
"orderID" :"ORDER0000001",
"amount" :"1000",
"tax" :"100"
}
ステータスコード:200
| パラメーター名 | 型 | 桁 | 項目名 | 特記 |
|---|---|---|---|---|
| accessID | CHAR | 32 | 取引 ID | 発行した ID を返却します。同一オーダー ID でも決済手段が異なると、異なった「取引 ID」および「取引パスワード」が返却されます。 |
| accessPass | CHAR | 32 | 取引パスワード | 発行したパスワードを返却します。同一オーダー ID でも決済手段が異なると、異なった「取引 ID」および「取引パスワード」が返却されます。 |
{
"accessID" :"a6a6b0061347e90cdef806b39bd28705",
"accessPass":"5e0e54b892e14ed03e8cf807a6053813"
}
{warning} このレスポンスは決済実行時に必ず必要となるため保存必須
ステータスコード:不明
| パラメーター名 | 型 | 桁 | 項目名 | 特記 |
|---|---|---|---|---|
| ErrCode | CHAR | 3 | エラーコード | エラー発生時のみ 複数ある場合は"|"で接続された文字列 |
| ErrInfo | CHAR | 9 | エラー詳細コード | エラー発生時のみ 複数ある場合は"|"で接続された文字列 |
・エラー時(複数エラーがある場合は下記のような形式にて出力されます。ErrCode の n 番目と ErrInfo の n 番目は対となります)
[
{
"errCode":"E01",
"errInfo":"E01010001"
},
{
"errCode":"E01",
"errInfo":"E01020001"
},
]
// リクエストコネクションの設定
$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/EntryTranCvs.idPass' );
$param = [
'ShopID' => 'YourShopId',
'ShopPass' => 'YourShopPassword',
'OrderID' => 'SampleOrderID',
'Amount' => '1000',
'Tax' => '100'
];
// リクエストボディの生成
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;