Легкая интеграция способов оплаты, реализация полного разделения платежей и бизнеса, а также быстрое и простое завершение разработки платежного модуля.
характеристика
- Защитите различия в API доступа и структуре данных между способами оплаты и унифицируйте API и структуру данных.
- Поддержка горизонтального расширения типа оплаты
- Унифицированная обработка исключений
Поддержка способов и функций оплаты
способ оплаты
- Алипай(
pay_type=ali_pay
) - WeChat Pay (
pay_type=wx_pay
)
Общая функция
- Плата за компьютер на сайте
- Платный мобильный сайт
- Оплата через приложение
- Асинхронная проверка уведомлений
- Запрос транзакции
- сделка отменена
- Возвращать деньги
- Запрос на возврат
Особенности платформы
Инструкции по применению
Установить
# installation
pip install all-pay --upgrade
Описание ядра
- Конфигурация (Dict)
ALIPAY_CONFIG = {
'pay_type': 'ali_pay', # 必填 区分支付类型
'app_id': 'xxx', #必填 应用id
'private_key_path': 'xxx', #必填 私钥
'public_key_path': 'xxx',#必填 公钥
'notify_url': 'xxx',# 异步回调地址
'sign_type': 'RSA2', # 签名算法 RSA 或者 RSA2
'debug': False, # 是否是沙箱模式
}
WECHAT_CONFIG = {
'pay_type': 'wx_pay', # 必填 区分支付类型
'app_id': 'xxx', # 必填,应用id
'mch_key': 'xxx', # 必填,商户平台密钥
'mch_id': 'xxx', # 必填,微信支付分配的商户号
'app_secret': 'xxx', # 应用密钥
'notify_url': 'xxx'# 异步回调地址
'api_cert_path': 'xxx', # API证书
'api_key_path': 'xxx' # API证书 key
}
вpay_type
Это необходимо для этого проекта и используется для различения типов платежей.Остальные параметры конфигурации требуются для соответствующего метода оплаты.Подробности см. в официальных документах, соответствующих соответствующему методу оплаты.
Платежный шлюз, распределение способов оплаты и запись переадресации
Унифицированная упаковка информации о платежном поручении, в основном используемая для оплаты и размещения заказаПример создания единого заказа
order = PayOrder.Builder().subject('商品标题') .out_trade_no('商品订单号').total_fee('商品费用').build()
пройти черезBuilder模式+链式调用
Гибкое сочетание общих параметров и специальных параметров Параметр Описание Подробнееисходный код
даУнифицированный пакетный платеж возвращает бизнес-информацию, в основном используемую для платежного запроса.
Пример создания единой квитанции
response = PayResponse.Builder().trade_no('平台订单号').out_trade_no('商家订单号').build()
пройти черезBuilder模式+链式调用
Гибкое сочетание общих и специальных параметров Дополнительные описания параметров см.исходный код
demo
from all_pay import PayOrder
from all_pay import Pay
ALIPAY_CONFIG = {
'pay_type': 'ali_pay', # 必填 区分支付类型
'app_id': 'xxx', #必填 应用id
'private_key_path': 'xxx', #必填 私钥
'public_key_path': 'xxx',#必填 公钥
'notify_url': 'xxx',# 异步回调地址
'sign_type': 'RSA2', # 签名算法 RSA 或者 RSA2
'debug': False, # 是否是沙箱模式
}
# 额外参数,某些支付方式有些选填的参数在PayOrder并没有封装,可以自行传递
extra_params= {
'xxx':'xxx'
'xxx':'xxx'
'xxx':'xxx'
}
order = PayOrder.Builder().subject('商品标题') .out_trade_no('商品订单号').total_fee('商品费用').build()
pay = Pay(ALIPAY_CONFIG) # 传入对应支付方式配置
order_res= pay.trade_page_pay(order,extra_params)# 传入对应订单和额外参数(要是需要)
Описание функции
Сайты для ПК платят [trade_page_pay]
pay = Pay(ALIPAY_CONFIG) # 传入对应支付方式配置
order_res= pay.trade_page_pay(order)# 传入对应订单
Оплата мобильного сайта [trade_wap_pay]
pay = Pay(ALIPAY_CONFIG) # 传入对应支付方式配置
order_res= pay.trade_wap_pay(order)# 传入对应订单
Оплата через приложение [trade_app_pay]
pay = Pay(ALIPAY_CONFIG) # 传入对应支付方式配置
order_res= pay.trade_app_pay(order)# 传入对应订单
Асинхронная проверка уведомлений [parse_and_verify_result]
# 传入对应支付方式配置
pay = Pay(WECHAT_CONFIG)
# 传入对应支付方式返回的原始数据,校验成功会返回解析成json数据
data = pay.parse_and_verify_result(req_xml)
Оплата WeChat JS [trade_js_pay]
# 传入对应支付方式配置
pay = Pay(WECHAT_CONFIG)
# 传入对应订单
data = pay.trade_js_pay(order)
Изменение корпоративного платежа WeChat [enterprise_pay]
# 传入对应支付方式配置
pay = Pay(WECHAT_CONFIG)
# 传入对应订单
data = pay.enterprise_pay(order)
торговый запрос [trade_query]
# 传入对应支付方式配置
pay = Pay(WECHAT_CONFIG)
# 传入对应回单信息
data = pay.trade_query(response)
Отмена сделки [trade_cancel]
# 传入对应支付方式配置
pay = Pay(WECHAT_CONFIG)
# 传入对应回单信息
data = pay.trade_cancel(response)
Возврат [trade_refund]
# 传入对应支付方式配置
pay = Pay(WECHAT_CONFIG)
# 传入对应回单信息
data = pay.trade_refund(response)
Запрос на возврат [trade_refund_query]
# 传入对应支付方式配置
pay = Pay(WECHAT_CONFIG)
# 传入对应回单信息
data = pay.trade_refund_query(response)
способствовать
В настоящее время этот проект поддерживает не так много способов оплаты и API. Вы можете отправить запрос на включение в этот проект, чтобы расширить новый интерфейс оплаты. В то же время, если у вас есть хорошие комментарии или предложения, вы также можете отправить вопрос в этот проект.
утверждение:
Основная цель этого проекта состоит в том, чтобы интегрировать платеж, платеж единой API и структуры данных для достижения ссылки на некоторые проекты с открытым исходным кодом, доступ к конкретному платежему модулю.
Модуль Alipay основан наpython-alipay-sdk
Модуль WeChat основан наwx_pay_python