clj-alipay

所属分类:支付接口
开发工具:Clojure
文件大小:0KB
下载次数:0
上传日期:2017-12-10 11:27:32
上 传 者sh-1993
说明:  支付宝即时到账交易接口 for clojure,
(Alipay real-time arrival transaction interface for clojure,)

文件列表:
LICENSE (11218, 2017-12-10)
a.md (675, 2017-12-10)
doc/ (0, 2017-12-10)
doc/intro.md (108, 2017-12-10)
project.clj (622, 2017-12-10)
src/ (0, 2017-12-10)
src/clj_alipay/ (0, 2017-12-10)
src/clj_alipay/core.clj (2640, 2017-12-10)
src/clj_alipay/util.clj (3011, 2017-12-10)
test/ (0, 2017-12-10)
test/clj_alipay/ (0, 2017-12-10)
test/clj_alipay/core_test.clj (4357, 2017-12-10)

# clj-alipay 支付宝即时到账交易接口(create_direct_pay_by_user) [![Circle CI](https://circleci.com/gh/oscnet/clj-alipay.svg?style=svg)](https://circleci.com/gh/oscnet/clj-alipay) ## Usage In your project.clj file: [![Clojars Project](http://clojars.org/clj-alipay/latest-version.svg)](http://clojars.org/clj-alipay) In your namespace declaration: ```clojure (ns myapp.test.core (:require [clj-alipay.core :refer :all] [noir.util.middleware :refer [app-handler]])) ``` 定义支付宝参数: ```clojure (def alipay {:partner "2088...183" ;签约的支付宝账号对应的支付宝唯一用户号。以 2088 开头的 16 位纯数字组成 :key "rqverejzrs...zy9jm" ;交易安全校验码 :notify "/alipay/notify" ;服务器异步通知页面路径 :return "/alipay/return" ;页面跳转同步通知页面路径 }) ``` 自动转支付宝支付: ```clojure (defn pay-page [] (pay alipay {:out_trade_no "001010" :subject "商品名称" :total_fee "0.10" })) ``` 支付后页面跳转同步通知页面处理:(请求参数说明请查看支付宝接口文档) ```clojure (defn return [{:keys [out_trade_no trade_status buyer_id buyer_email gmt_payment notify_time total_fee] :as req}] (if (= "TRADE_SUCCESS" trade_status) (do ...))) ``` 服务器异步通知处理,注意最后必须返回success: ```clojure (defn notify [{:keys [out_trade_no trade_status buyer_id buyer_email gmt_payment notify_time total_fee] :as req}] (timbre/info "接收支付宝 notify 消息" req) ... "success") ``` define Compojure routes: ```clojure (defroutes home-routes (GET "/pay" [] (pay-page)) (POST "/alipay/notify" [] notify) (GET "/alipay/return" [] return) (GET "/" [] "ok")) ``` define ring app: ```clojure (def app (app-handler [home-routes] :middleware [wrap-anti-forgery #(wrap-alipay % alipay)] :ring-defaults (assoc-in site-defaults [:security :anti-forgery] false) :access-rules [] :formats [:json-kw :edn :transit-json])) ``` *如果使用了wrap-anti-forgery,为了能够接收到支付宝的notify通知,应该象如上示例中的middleware顺序使用.* ## License Copyright 2015 oscnet.

近期下载者

相关文件


收藏者