epay_gateway behaviour (erlang_pay v0.3.2)

View Source

统一网关 behaviour:三家网关实现同一组动作,能力差异经 capabilities/0 + supports/2 显式声明。

Summary

Types

err()

-type err() :: {error, {atom(), binary()}}.

Callbacks

build_pay_sign(Cfg, Args)

(optional)
-callback build_pay_sign(Cfg :: map(), Args :: map()) -> {ok, map()} | err().

cancel(Cfg, Req)

(optional)
-callback cancel(Cfg :: map(), Req :: map()) -> {ok, map()} | err().

capabilities()

-callback capabilities() -> [atom()].

close(Cfg, Req)

(optional)
-callback close(Cfg :: map(), Req :: map()) -> {ok, map()} | err().

create_payment(Cfg, Order)

-callback create_payment(Cfg :: map(), Order :: map()) -> {ok, map()} | err().

download_bill(Cfg, Req)

-callback download_bill(Cfg :: map(), Req :: map()) -> {ok, map()} | err().

query(Cfg, Query)

-callback query(Cfg :: map(), Query :: map()) -> {ok, map()} | err().

refund(Cfg, RefundReq)

-callback refund(Cfg :: map(), RefundReq :: map()) -> {ok, map()} | err().

verify_notify(Cfg, Ctx)

-callback verify_notify(Cfg :: map(), Ctx :: map()) -> {ok, map()} | err().