интегрированный комплект для разработки платежей Python

Python Alipay

Легкая интеграция способов оплаты, реализация полного разделения платежей и бизнеса, а также быстрое и простое завершение разработки платежного модуля.

характеристика

  1. Защитите различия в API доступа и структуре данных между способами оплаты и унифицируйте API и структуру данных.
  2. Поддержка горизонтального расширения типа оплаты
  3. Унифицированная обработка исключений

Поддержка способов и функций оплаты

способ оплаты

  • Алипай(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