Alipay(オンライン)

こちらのページにてご案内のAlipay(アリペイ)β版は、現在Omise Thailandご契約加盟店様のみご利用いただけます。その他の国でOmiseをご利用中の加盟店様には誠に恐縮ですが、ご提供開始まで今しばらくお待ちください。

Omiseの決済方法に、4億5000万人以上のユーザー数を誇る中国最大規模のオンライン決済手段Alipay(アリペイ)が追加されました 。Omise Thailandの全加盟店様が、新規申込不要でAlipay決済のβ版をご利用いただけます。Omiseを導入したECサイトでお客様がAlipayでの支払いを選択すると、Omiseが加盟店に代わりAlipayと通信を行い、当該お客様のAlipayアカウント情報を自動取得いたします。お客様の手を煩わせることなく、シームレスにAlipayを利用して支払いを行えるようになります。

Alipay決済の流れ

  1. 決済方法からAlipayを選択
  2. 加盟店様のECサイトからAlipay決済画面へ遷移(アカウント情報取得・決済情報の認証)
  3. 表示された支払金額を確認(加盟店アカウントの現地通貨に自動換算)
  4. Alipay側で金額を中国元に変換し、お客様銀行口座から引出。加盟店へは現地通貨で入金

Payment Flow1 Payment Flow2

決済(ペイメント)ソースを使用し課金を作成する

画面遷移型のAlipay決済は、インターネットバンキング同様、値をパスするだけのシンプルな方法で導入できるのが魅力です。

1. ソースAPIを用いてソースオブジェクトを作成します。

ソースの作成コードは以下の通りです。 

curl https://api.omise.co/sources \
  -X POST \
  -u skey_test_59rnqoboimgxvjk894d: \
  -d "amount=100000" \
  -d "currency=thb" \
  -d "type=alipay”

JSON Response

{
  "object": "source",
  "id": "src_test_59tz6ut89klcihx52ss",
  "type": "alipay",
  "flow": "redirect",
  "amount": 100000,
  "currency": "thb"
}

*ソース対象(オブジェクト)を作成するときは、シークレットキー、パブリックキーのいずれもご使用いただけます。

作成されたソースを取得します。最も重要なのは次に使用されるIDです。idとしてsrc_test_59tz6ut89klcihx52ssがあると仮定します。 

2. src_test_59tz6ut89klcihx52sssource パラメタに指定し、課金APIを用いて課金オブジェクトを作成してます。

(例)Alipay課金作成のcURLスニペット

curl https://api.omise.co/charges \
  -X POST \
  -u skey_test_59rnqoboimgxvjk894d: \
  -d "amount=100000" \
  -d "currency=thb" \
  -d “source=src_test_59tz6ut89klcihx52ss" \
  -d "return_uri=http://example.com/orders/1235813/complete"

return_uriには、支払完了後のリダイレクト先URLを指定します。

(例)Alipay課金作成時のJSONレスポンス

{
  "object": "charge",
  "id": "chrg_test_59tz85445qe6oj0illy",
  "livemode": false,
  "location": "/charges/chrg_test_59tz85445qe6oj0illy",
  "amount": 100000,
  "currency": "thb",
  "description": null,
  "metadata": {},
  "status": "pending",
  "capture": true,
  "authorized": false,
  "reversed": false,
  "paid": false,
  "transaction": null,
  "refunded": 0,
  "refunds": {
    "object": "list",
    "from": "1970-01-01T00:00:00Z",
    "to": "2017-11-02T07:14:14Z",
    "offset": 0,
    "limit": 20,
    "total": 0,
    "order": null,
    "location": "/charges/chrg_test_59tz85445qe6oj0illy/refunds",
    "data": []
  },
  "return_uri": "https://omise.co",
  "reference": "ofsp_test_59tz8545ixmxqjq4vjt",
  "authorize_uri": "http://pay.omise.co/offsites/ofsp_test_59tz8545ixmxqjq4vjt/pay",
  "failure_code": null,
  "failure_message": null,
  "card": null,
  "customer": null,
  "ip": null,
  "dispute": null,
  "created": "2017-11-02T07:14:14Z",
  "source": {
    "object": "source",
    "id": "src_test_59tz6ut89klcihx52ss",
    "type": "alipay",
    "flow": "redirect",
    "amount": 100000,
    "currency": "thb"
  }
}

3. お客様がAlipayでのお支払いを選択しますと、authorize_uriでリダイレクトを実行します。

*補足:Omiseテスト環境をご利用の際は、authorize_uriに 返されたURLをコピー してブラウザに貼りつけてください。 

Charges API でご案内の通り、当該課金情報から決済が正常に行われたことをご確認いただけます。

  • authorizedpaid いずれも true の場合:決済は正常に完了しています
  • authorizedpaid いずれも falseの場合:決済が正常に完了していません。エラー発生要因の詳細は、Chargeオブジェクトのfailure_code ならびに failure_messageに記載されます。
  • 補足:authorizedpaidの値は常に一致します。

Alipay決済の返金方法

Refund API での自動処理、もしくは Omiseライブダッシュボード上から手動で「一部返金」か「全額返金」を作成できます。

*注意:Alipay決済の返金可能期間は、決済日から3ヶ月以内です。

Webhook機能の活用方法 

あらかじめWebhookを設定しておけば、課金ステータスを外部サイトへ自動通知することができます。課金が成功すると、charge.completeというイベント名で指定先のURLに通知が行きます。

Code Description
bad_request 金額は4,900,000(タイバーツ)以下としてください
bad_request この通貨は現在サポートされていません
bad_request こちらの様式は現在サポートされていません
bad_request 無効なソース
bad_request return_uri は必須です
not_found ソース source_id が見つかりませんでした

属性 source [type]を追加し課金を作成する

curl https://api.omise.co/charges \
  -X POST \
  -u skey_test_59rnqoboimgxvjk894d: \
  -d "description=Charge for order 3947" \
  -d "amount=100000" \
  -d "currency=thb" \
  -d "return_uri=http://example.com/orders/345678/complete" \
  -d "source[type]=alipay”

属性source [type]を追加して課金を作成することもできますが、 決済ソースapiを使用して課金作成することをお勧めいたします。

注意  

-ライブアカウントをお持ちのユーザーの場合は、support@omise.co までメールをお送りください 。APIをテストする前に利用規約を確認していただく必要があります。