API名 | 販売情報登録API |
ID | el_orderInfo_upd_api |
2.詳細解説
GMOと連携して決済を行う場合利用するAPI。まずは以下の図を参照してください。
上記は本APIを使ってGMO社の「リンクタイプ決済」を使ってクレジット決済等の処理を実現する際の処理フローです。上記①〜⑤について解説します。
① | ・まずは商品情報取得APIで料金情報を取得して申込画面に表示します ・必要情報を入力させ、申込ボタンをクリックした後の処理で、まず「オーダー番号」「商品ID」「決済方法(クレジット・コンビニ・V口座)」などの情報を当API(販売情報登録API)を使ってE-learningASPの販売情報に登録します。※オーダー番号は独自に採番します。キー項目なので必ず重複がないようにしてください ・登録が完了したら、GMO社の決済画面に遷移します(この際に申込完了画面のURL、オーダー番号をPOSTで渡しておきます) |
② | ・GMO社の画面です。ここでは決済方法に応じたGMO社の画面を通じて必要情報を登録します。 |
③ | ・GMO社システムでの登録がすべて完了すると①で渡した申込完了画面のURLに遷移します。申込完了画面では特に何も行いません。 |
④ | ・GMO社システムで、様々な決済イベントが発生するたびに、当社システムの決済処理プログラムをGMO社システムが実行します。(クレジット決済完了、コンビニ決済完了、コンビニ決済入金完了、V口座決済口座番号通知、V口座振込完了等) |
⑤ | ・決済処理プログラムでは、GMOからオーダー番号とイベントの内容が渡されます。(たとえばオーダー1のクレジット決済完了 等) ・E-learningASPでは、このオーダー番号をもとに①で登録していたE-learningASPの販売情報の対象オーダーを検索し、当システムで必要なすべての処理を自動的に行います。※受講者IDの発行、権限の付与、販売履歴の登録、購入者へのメール通知等 |
上の処理フローを参照すればわかりますが、GMO社システムを使った課金決済において、API呼び出し元のプログラムでは当該API(販売情報登録API)呼出以外の処理をほとんど実行していないことが分かります。
このように、E-learningASPではGMO社システムとの連携処理を販売情報をもとに内部で行うことで、API呼び出し元のプログラムで決済関連の処理を実装しなくていいように配慮されています。
$cstream->call_el_orderInfo_upd_api($input_array);
3.I/O情報
INPUT
No | 項目名 | 項目ID | 項目説明 | 必須 | |||||
1 | 会社ID | kaisha_id | 会社を表すID | 〇 | |||||
2 | アクセスキー | access_key | APIを認証するためのアクセスキー | 〇 | |||||
3 | オーダーNo | order_no | 27文字の注文No ※すべてのトランザクションで必ずユニークになる必要がある | 〇 | |||||
4 | 商品ID | product_id | 商品マスタのID、または継続決済IFの番号 | 〇 | |||||
5 | 適用クーポンNo | coupon_no | 割引として適用するクーポンNo | ||||||
6 | 適用クーポンコード | coupon_code | 割引として適用するクーポンコード ※クーポンIDに値が入っている場合必須 ※整合性チェックを行うこと |
△ | |||||
7 | 適用キャンペーンNo | campaign_no | 割引として適用するキャンペーンのNo | ||||||
8 | 受講者情報 | user_info | 一件以上必須 単品販売なのに2行以上ある場合エラー |
〇 | |||||
1 | 代表者フラグ | rep_flg | 販売種別が一括販売の場合必須 代表者の場合1を指定。それ以外は0を指定。 | △ | |||||
2 | 受講者ID | userid | 値がある場合、その受講者の更新処理を行う 値がない場合、メールアドレスがすでに登録済みであれば当該受講者IDの更新、登録済みでなければ新規受講者として取り扱う |
||||||
3 | 受講者パスワード | userpassword | 半角英数記号 8桁以上16桁まで 新規の場合必須、更新の場合、値が入っていないと更新処理が行われない。 |
△ | |||||
4 | 受講者氏名 | username | 全角40文字まで | ||||||
5 | 受講者氏名(カナ) | usernamekana | 全角カナ40文字まで | ||||||
ニックネーム | nickname | ||||||||
6 | 性別 | sex_kbn | 0:男性 1:女性 | ||||||
7 | 年齢 | age | 半角数字 | ||||||
8 | 生年月日 | birth | YYYYMMDD | ||||||
9 | 既婚/未婚 | marry_kbn | 0:未婚 1:既婚 | ||||||
10 | 郵便番号 | yubin | ハイフン抜き数字7桁 | ||||||
11 | 住所 | address | |||||||
12 | 電話番号 | tdisp | ハイフン含む | ||||||
13 | メールアドレス | 新規の場合必須&重複チェック | △ | ||||||
14 | 携帯メールアドレス | mobileMail | |||||||
15 | 職業 | job_kbn | 0:医師 1:弁護士 2:会計士・税理士 3:建築士・不動産鑑定士 4:その他士業 5:公務員 6:警察・消防士 7:教員 8:会社経営 9:自営業 10:モデル・タレント・スポーツ選手 11:営業 12:経理・法務・経営企画 13:研究 14:接客・販売 15:秘書・受付 16:事務職 17:コンピュータ関連技術者 18:エンジニア 19:コンサルタント 20:記者 21:客室乗務員 22:美容師 23:看護師 24:大学生・専門学生 25:その他 |
||||||
16 | 法人名 | incName | |||||||
17 | 業種 | bizType_kbn | 0050:水産・農林業 1050:鉱業 2050:建設業 3050:製造業(食料品) 3100:製造業(繊維製品) 3150:製造業(パルプ・紙) 3200:製造業(化学) 3250:製造業(医薬品) 3300:製造業(石油・石炭製品) 3350:製造業(ゴム製品) 3400:製造業(ガラス・土石製品) 3450:製造業(鉄鋼) 3500:製造業(非鉄金属) 3550:製造業(金属製品) 3600:製造業(機械) 3650:製造業(電気機器) 3700:製造業(輸送用機器) 3750:製造業(精密機器) 3800:製造業(その他) 4050:電気・ガス業 5050:陸運業 5100:海運業 5150:空運業 5200:倉庫・運輸関連業 5250:情報・通信業 6050:卸売業 6100:小売業 7050:銀行業 7100:証券、商品先物取引業 7150:保険業 7200:その他金融業 8050:不動産業 9050:サービス業 |
||||||
18 | 従業員数 | enpNumber | 0:10人未満 1:10人以上30人未満 2:30人以上100人未満 3:100人以上500人未満 4:500人以上1,000人未満 5:1,000人以上5,000人未満 6:5,000人以上 |
||||||
19 | 部署名 | departName | |||||||
20 | 役職 | position | |||||||
21 | 独自のログインID | original_login_id | ASP基本設定で独自のログインIDをログインの項目にしている場合必須 | △ | |||||
22 | 任意項目 | other | |||||||
23 | 手動メール配信対象フラグ | manual_mail_target_flg | 0:配信対象外 1:配信対象 | ||||||
24 | 講師権限付与フラグ | lecturer_auth_add_flg | 0:付与しない 1:付与する | ||||||
25 | 講師回答承認フラグ | lecturer_answer_approval_flg | 0:承認不要 1:承認する | ||||||
26 | 連携項目1 | api_val_user1 | |||||||
27 | 連携項目2 | api_val_user2 | |||||||
28 | 連携項目3 | api_val_user3 | |||||||
29 | 連携項目4 | api_val_user4 | |||||||
30 | 連携項目5 | api_val_user5 |
OUTPUT
No | 項目名 | 項目ID | 項目説明 | |||||
1 | 実行フラグ | exec_flg | 1:正常 9:エラー | |||||
2 | エラータイプ | error_type | 実行フラグ=エラーの場合挿入。どのような種類のエラーなのかを判断するフラグ。 | |||||
3 | エラーメッセージ | error_msg | エラーごとに発生するメッセージ | |||||
4 | エラー情報 | error_info | 各項目ごとのエラーメッセージを表示(登録に失敗したケース) | |||||
4-1 | オーダーNo | order_no | ||||||
4-1 | 購入商品ID | product_id | ||||||
4-1 | 受講者ID | userid | ||||||
4-2 | 受講者パスワード | userpassword | ||||||
4-3 | 受講者氏名 | username | ||||||
4-4 | 受講者氏名(カナ) | usernamekana | ||||||
4-5 | 性別 | sex | ||||||
4-6 | 年齢 | age | ||||||
4-7 | 生年月日 | birth | ||||||
4-8 | 既婚/未婚 | marry | ||||||
4-9 | 郵便番号 | yubin | ||||||
4-10 | 住所 | address | ||||||
4-11 | 電話番号 | tdisp | ||||||
4-12 | メールアドレス | |||||||
4-13 | 携帯メールアドレス | mobileMail | ||||||
4-14 | 職業 | job | ||||||
4-15 | 法人名 | incName | ||||||
4-16 | 業種 | bizType | ||||||
4-17 | 従業員数 | enpNumber | ||||||
4-18 | 部署名 | departName | ||||||
4-19 | 役職 | position | ||||||
4-20 | 任意項目 | other | ||||||
4-21 | 連携項目1 | api_val_user1 | ||||||
4-22 | 連携項目2 | api_val_user2 | ||||||
4-23 | 連携項目3 | api_val_user3 | ||||||
4-24 | 連携項目4 | api_val_user4 | ||||||
4-25 | 連携項目5 | api_val_user5 |
エラー
エラータイプ | エラー概要 | 発生させるメッセージ | 発生させるException | ||||||
0 | アクセスキー不適合エラー | アクセスキーが適合しません。 | AccessKeyException | ||||||
1 | ホスト許可エラー | 対象のホストからのAPI実行を許可していません。 | HostRestrictException | ||||||
2 | 引数エラー | 呼出パラメータが不足しているため実行できません。 | CallParameterException | ||||||
3 | 登録エラー | 登録が失敗しました。 | AddDataException | ||||||
9 | システムメンテナンスエラー | 現在システムのメンテナンス中です。YYYY/MM/DD HH - HH の間システムをご利用できません。ご不便おかけし申し訳ございません。 | SystemMaintenanceException |
4.実装例
1 |