クレジットカード削除API


概要

登録済みのクレジットカード情報を削除するAPIです。


エンドポイント

メソッド URI He aders
POST /api/payment/credit/delete Default

リクエストパラメーター

{primary} リクエストパラメーターはありません。


レスポンス

成功時
パラメーター名 内容 特記
result boolean リクエスト結果
{
    "result" : true,
}


失敗時

DBにクレジットカード情報が登録されていない時、もしくはGMOのクレジットカード削除APIでエラーが返却された時に、ブラウザに返却するエラー

ステータスコード:200

パラメーター名 内容 特記
result boolean リクエスト結果
errors array エラーメッセージ
{
  "result"   : false,
  "errors"   : {
    'クレジットカードが登録されていません。'
    'カード会社略称が最大バイト数を超えています。',
    'カード番号が指定されていません。'
  },
}

{danger} 上記のエラー以外の場合は200以外のエラーコードが返却されます。共通ルールのレスポンスをチェック。


バリデーション

{primary} 本機能で取得するデータに対してのvalidationを明記します

DBに削除対象のクレジットカードが登録されていない場合は、決済API APIに通信せず、その前に失敗時レスポンスを返します。


バリデーション通過後の処理

{primary} GMOのAPIを使い、利用可能なクレジットカードかどうかの確認をします。

GMO PAYMENT GATEWAYのAPIにクレジットカード情報削除処理を行います

リクエストパラメータ

パラメーター名 内容 特記
SiteID char サイトID GMO APIのサイトIDです。
実装時はconfig/gmo_payment.phpに設定しているgmo_payment.site.SiteIDの値を使用します。
SitePass char サイトパスワード GMO APIのサイトパスワードです。
実装時はconfig/gmo_payment.phpに設定しているgmo_payment.site.SitePassの値を使用します。
MemberID varchar 会員ID organization_payment_settingsテーブルに登録されているapi_member_idの値を使用します。

※支払設定が未登録かつtemp_payment_settingsテーブルに該当データが存在する場合は、temp_payment_settingsapi_member_idの値を使用します。
CardSeq char カード登録連番 0000を設定します。

※KIZUNAではカード登録連番モードに「0:論理モード」を使用するので0番目のカードを削除するため0000を設定します。
{
    'SiteID'   : 'tsite99887902',
    'SitePass' : '7ry53fqm',
    'MemberID' : 'member01',
    'CardSeq'  : '0000'
}

GMOのAPIのレスポンス

成功時
パラメーター名 内容 特記
CardSeq char 削除したカード登録連番
"CardSeq=8469"
失敗時
パラメーター名 内容 特記
ErrCode char エラーコード
ErrInfo char エラー詳細コード
"ErrCode=E01|E01&ErrInfo=E01010001|E01020001"

{danger} 上記のエラー以外の場合は200以外のエラーコードが返却されます。共通ルールのレスポンスをチェック。


データストア

{primary} 支払設定登録済みの場合はorganization_payment_settingsにあるクレジットカード関連のカラムにNULLを登録します。

支払設定が未登録だがtemp_payment_settingsにクレジットカード情報が登録されている場合はそのレコードを論理削除します。

organization_payment_settings

物理名 フィールド名 備考
カード種類 credit_card_type tinyint NULLを登録します。
カード番号 credit_card_number varchar NULLを登録します。
カード名義人 credit_card_nominee varchar NULLを登録します。
カード有効期限 年 credit_card_effective_year tinyint NULLを登録します。
カード有効期限 月 credit_card_effective_month tinyint NULLを登録します。
カードトークン credit_card_token varchar NULLを登録します。

temp_payment_settings

該当するtemp_payment_settingsレコードが存在する場合は、そのレコードを論理削除します。


RUN