Python에서 WeChat 결제 기능 코드 예제를 구현하는 방법

        

        위챗페이(WeChat Pay)는 중국 인스턴트 메시징 도구인 위챗(WeChat)이 제공하는 인터넷 기반 모바일 결제 서비스이다. 사용자는 WeChat Pay를 통해 WeChat 플랫폼에서 온라인 결제, 이체 및 수집을 할 수 있습니다. WeChat Pay는 은행 카드 결제, WeChat 지갑 잔액 결제, 스캔 코드 결제 등 다양한 결제 방법을 지원합니다. 사용자는 WeChat Pay를 사용하여 상품 구매, 청구서 지불, 친구에게 송금 등을 할 수 있습니다. WeChat Pay는 중국 본토에서 매우 인기가 높으며 다른 일부 국가 및 지역에서도 허용됩니다. WeChat Pay의 개발은 사용자에게 보다 편리하고 안전한 결제 방법을 제공합니다.

다음은 WeChat 결제에 액세스하기 위한 코드 예제(Python으로 작성)입니다.

import requests
import json
from hashlib import md5

# 配置参数
appid = 'your_appid'
mch_id = 'your_mch_id'
key = 'your_key'

# 统一下单API
url = 'https://api.mch.weixin.qq.com/pay/unifiedorder'

# 构造请求数据
data = {
    'appid': appid,
    'mch_id': mch_id,
    'nonce_str': 'your_nonce_str',
    'body': '订单描述',
    'out_trade_no': 'your_out_trade_no',
    'total_fee': 'your_total_fee',
    'spbill_create_ip': 'your_client_ip',
    'notify_url': 'your_notify_url',
    'trade_type': 'JSAPI',
    'openid': 'your_openid',
}

# 生成签名
sign = ''
data_items = sorted(data.items(), key=lambda x: x[0])
for k, v in data_items:
    sign += '{}={}&'.format(k, v)
sign += 'key={}'.format(key)
sign = md5(sign.encode('utf-8')).hexdigest().upper()
data['sign'] = sign

# 发送请求
response = requests.post(url, data=xml_data)
result = response.text

# 解析响应
result_data = {}
xml_data = result.encode('utf-8')
tree = ET.fromstring(xml_data)
for child in tree:
    result_data[child.tag] = child.text

print(result_data)

대체 코드에서 다음 매개변수를 참고하세요.

  • your_appid: 위챗 오픈플랫폼에 적용된 AppID입니다.
  • your_mch_id: 위챗페이 가맹점 플랫폼에서 신청한 가맹점 번호입니다.
  • your_key: 위챗페이 가맹점 플랫폼에 설정된 API 키입니다.
  • your_nonce_str: 직접 생성할 수 있는 임의의 문자열입니다.
  • your_out_trade_no: 가맹점 주문번호, 고유성이 보장되어야 합니다.
  • your_total_fee: 주문 총액(센트)입니다.
  • your_client_ip: 클라이언트 IP 주소.
  • your_notify_url: 결제 결과 알림 주소.
  • your_trade_type: 'JSAPI'와 같은 트랜잭션 유형입니다.
  • your_openid: 공식 계정에 속한 사용자의 고유 식별자입니다.

이 코드 예제는 WeChat Pay로 통합 주문 작업을 수행하고 서명을 생성하는 방법을 보여줍니다. 실제 상황에 따라 매개변수를 수정하고 WeChat 결제 관련 매개변수가 올바르게 구성되었는지 확인하세요.

추천

출처blog.csdn.net/m0_37649480/article/details/135416689