その他
    ホーム 技術発信 DoRuby アリペイの導入について-即時支払方法の実装

    アリペイの導入について-即時支払方法の実装

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    アリペイ支払いにも3種類があります。

    (ネット上すでにrails開発用のプラグインがあるようです)

    今日はそのうちに、一番簡単な即時支払いについてご紹介します。即時支払いというはエンドユーザが支払った金額はすぐ売り方のアリペイアカウントに入る支払いで、
    要求/応答パタンです。

    一.アリペイ支払い用のデータの用意
    パラメータ説明
    必須パラメータ:
    1.service:api名称、”create_direct_pay_by_user”、固定の文字列
    2.partner:パートナーID、アリペイ社が発行する売り方のID
    3.return_url:エンドユーザがアリペイシステムで支払完了後、パートナーシステム(売り方)に戻る時のURL
    4.out_trade_no:注文番号などのパートナーシステムにユニックの注文識別番号
    5.subject:商品名称
    6.total_fee:合計金額(priceと同時に渡せない)
    7.payment_type:1で固定
    8.seller_email:パートナーシステム(売り方)がアリペイに登録する時のメールアドレス(seller_idでもOK)
    9.sign:パラメータをサインする後の値
    10.sign_type:サインアルゴリズム

    ここではパラメータのサインについて説明する必要があります。
    1、パラメータ名の昇順(signとsign_type以外)でソートする。
    パラメータ名が同じ場合、パラメータ値の昇順でソート。

    2、アリペイ社が発行するパートナーの秘密キーを直接接続

    3、指定のsign_typeで、サインする

    例、
    out_trade_no=20111111111111
    partner=2088123456789000
    payment_type=1
    return_url=http://example.com/alipay/alipay_return.jsp
    seller_email=taro@example.com
    service=create_direct_pay_by_user
    subject=AAA
    total_fee=0.01
    秘密キー:abc123

    サイン前のパラメータは下記になります。
    out_trade_no=20111111111111&partner=2088123456789000&payment_type=1&return_url=http://example.com/alipay/alipay_return.jsp&seller_email=taro@example.com&service=create_direct_pay_by_user&subject=AAA&total_fee=0.01abc123

    ※サイン用のパラメータ値はURLエンコードしないでください。


    二、連携用URLを生成、エンコード、連携する

    上記の1~10までパラメータを接続して、特殊記号が入っている場合、エンコードする必要があります。

    一番基本的なものをご紹介しました。
    上記の1~10以外、いろいろパラメータが渡せます。必要に応じてアリペイ社のドキュメントをご参照ください。

    記事を共有