def test_specil_chinese_in_product_info():
    # product_info_list = [u'魃', u'魈', u'魁', u'鬾', u'魑', u'魅', u'魍', u'魉',
    #                      u'叒', u'叕', u'焱', u'燚', u'沝', u'淼', u'㵘', u'㙓',
    #                      u'𨰻', u'茕', u'沆', u'瀣', u'踽', u'瓞', u'奉', u'臬',
    #                      u'龘', u'龘', u'袅', u'娜', u'呶', u'稂', u'莠', u'卬',
    #                      u'咄', u'嗟', u'蹀', u'躞', u'耄', u'耋', u'饕', u'餮',
    #                      u'囹', u'圄', u'蘡', u'薁', u'龃', u'龉', u'狖', u'轭',
    #                      u'鼯', u'靁', u'虺', u'孑', u'孓', u'栉', u'翕']

    product_info_list = [
        '魃', '魈', '魁', '鬾', '魑', '魅', '魍', '魉', '叒', '叕', '焱', '燚', '沝', '淼',
        '㵘', '㙓', '𨰻', '茕', '沆', '瀣', '踽', '瓞', '奉', '臬', '龘', '龘', '袅', '娜',
        '呶', '稂', '莠', '卬', '咄', '嗟', '蹀', '躞', '耄', '耋', '饕', '餮', '囹', '圄',
        '蘡', '薁', '龃', '龉', '狖', '轭', '鼯', '靁', '虺', '孑', '孓', '栉', '翕'
    ]
    for product_info in product_info_list:
        print 'X' * 200
        print '=====>product_info 包含繁体字 生僻字'
        params = {
            'out_trade_id': gen_no(),  # 商户交易流水号 Y
            'amount': '10',  # 支付单金额,单位为元,精度最多小数点后两位(如果是JPY和KRW,单位为分) Y
            'currency': 'HKD',  # 支付单结算币种
            'product_info': product_info,  # 商品信息
            'client_ip': '127.0.0.1',  # 客户端设备IP地址
            'notify_url': 'your_notify_url',  # 异步通知地址
        }
        print product_info
        # is_cny 是否采用人民币(CNY)计价,取值"TRUE"/"FALSE",默认值为"FALSE"
        wechat_cn = WechatCn(is_cny=False)
        wechat_cn.consumer_scan_web(params)
def test_long_product_info():
    print 'X' * 200
    print '=====>product_info. 过长'
    product_info = '1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'
    params = {
        'out_trade_id': gen_no(),  # 商户交易流水号 Y
        'amount': '10',  # 支付单金额,单位为元,精度最多小数点后两位(如果是JPY和KRW,单位为分) Y
        'currency': 'HKD',  # 支付单结算币种
        'product_info': product_info,  # 商品信息
        'client_ip': '127.0.0.1',  # 客户端设备IP地址
        'notify_url': 'your_notify_url',  # 异步通知地址
    }
    print 'len of product_info is {0}'.format(str(len(product_info)))
    # is_cny 是否采用人民币(CNY)计价,取值"TRUE"/"FALSE",默认值为"FALSE"
    wechat_cn = WechatCn(is_cny=False)
    wechat_cn.consumer_scan_web(params)
def test_space_in_product_info():
    product_info_list = [' test', 'te st', 'test ']
    for product_info in product_info_list:
        print 'X' * 200
        print '=====>product_info 最前 中间 最后有空格'
        params = {
            'out_trade_id': gen_no(),  # 商户交易流水号 Y
            'amount': '10',  # 支付单金额,单位为元,精度最多小数点后两位(如果是JPY和KRW,单位为分) Y
            'currency': 'HKD',  # 支付单结算币种
            'product_info': product_info,  # 商品信息
            'client_ip': '127.0.0.1',  # 客户端设备IP地址
            'notify_url': 'your_notify_url',  # 异步通知地址
        }
        print 'product_info is {0}'.format(product_info)
        # is_cny 是否采用人民币(CNY)计价,取值"TRUE"/"FALSE",默认值为"FALSE"
        wechat_cn = WechatCn(is_cny=False)
        wechat_cn.consumer_scan_web(params)
def test_space_in_trade_id():
    out_trade_id_list = [' 201902271', '2019 02272', '201902273 ']
    for out_trade_id in out_trade_id_list:
        print 'X' * 200
        print '=====>out_trade_id 最前有空格 中间有空格 最后有空格'
        params = {
            'out_trade_id': out_trade_id,  # 商户交易流水号 Y
            'amount': '10',  # 支付单金额,单位为元,精度最多小数点后两位(如果是JPY和KRW,单位为分) Y
            'currency': 'HKD',  # 支付单结算币种
            'product_info': 'test',  # 商品信息
            'client_ip': '127.0.0.1',  # 客户端设备IP地址
            'notify_url': 'your_notify_url',  # 异步通知地址
        }
        print 'out_trade_id is {0}'.format(out_trade_id)
        # is_cny 是否采用人民币(CNY)计价,取值"TRUE"/"FALSE",默认值为"FALSE"
        wechat_cn = WechatCn(is_cny=False)
        wechat_cn.consumer_scan_web(params)
def test_full_width_in_product_info():
    product_info_list = [
        ",", "。", "【", "】", "「", "」", ";", "“", "(", ")", "”", ":", "?"
    ]
    for product_info in product_info_list:
        print 'X' * 200
        print '=====>product_info 包含全角符号'
        params = {
            'out_trade_id': gen_no(),  # 商户交易流水号 Y
            'amount': '10',  # 支付单金额,单位为元,精度最多小数点后两位(如果是JPY和KRW,单位为分) Y
            'currency': 'HKD',  # 支付单结算币种
            'product_info': product_info,  # 商品信息
            'client_ip': '127.0.0.1',  # 客户端设备IP地址
            'notify_url': 'your_notify_url',  # 异步通知地址
        }
        print 'product_info is {0}'.format(product_info)
        # is_cny 是否采用人民币(CNY)计价,取值"TRUE"/"FALSE",默认值为"FALSE"
        wechat_cn = WechatCn(is_cny=False)
        wechat_cn.consumer_scan_web(params)
def test_special_in_trade_id():
    special_list = [
        "-", "_", ".", "!", "*", "'", "(", ")", ",", "{", "}", "|", "\\", "^",
        "~", "[", "]", "`", "<", ">", "#", "%", '"', ";", "/", "?", ":", "@",
        "&", "=", "$", "+"
    ]

    for special in special_list:
        print 'X' * 200
        print '=====>out_trade_id 包含特殊字符'
        out_trade_id = '2019{special}0227'.format(special=special)
        params = {
            'out_trade_id': out_trade_id,  # 商户交易流水号 Y
            'amount': '10',  # 支付单金额,单位为元,精度最多小数点后两位(如果是JPY和KRW,单位为分) Y
            'currency': 'HKD',  # 支付单结算币种
            'product_info': 'test',  # 商品信息
            'client_ip': '127.0.0.1',  # 客户端设备IP地址
            'notify_url': 'your_notify_url',  # 异步通知地址
        }
        print 'out_trade_id is {0}'.format(out_trade_id)
        # is_cny 是否采用人民币(CNY)计价,取值"TRUE"/"FALSE",默认值为"FALSE"
        wechat_cn = WechatCn(is_cny=False)
        wechat_cn.consumer_scan_web(params)
# -*- coding: utf-8 -*-
from kernel.api.wechat_cn import WechatCn

if __name__ == '__main__':
    params = {
        'out_trade_id': 'your_trade_id',             # 商户交易流水号 Y
        'amount': '10',                              # 支付单金额,单位为元,精度最多小数点后两位(如果是JPY和KRW,单位为分) Y
        'currency': 'HKD',                           # 支付单结算币种
        'product_info': 'test',                      # 商品信息
        'client_ip': '127.0.0.1',                    # 客户端设备IP地址
        'notify_url': 'your_notify_url',             # 异步通知地址
    }
    # is_cny 是否采用人民币(CNY)计价,取值"TRUE"/"FALSE",默认值为"FALSE"
    wechat_cn = WechatCn(is_cny=False)
    wechat_cn.consumer_scan_device(params)
# -*- coding: utf-8 -*-
from config import MERCHANT_APPID
from kernel.api.wechat_cn import WechatCn

if __name__ == '__main__':
    ''' 第一步 / 请求预支付接口 '''
    params = {
        'out_trade_id': 'your_trade_id',  # 商户交易流水号 Y
        'amount': '1',  # 支付单金额,单位为元,精度最多小数点后两位(如果是JPY和KRW,单位为分) Y
        'currency': 'HKD',  # 结算币种 Y
        'product_info': 'test product',  # 商品信息 Y
        'appid': MERCHANT_APPID,  # 微信开放平台分配的appid	Y
        'client_ip': 'test_agent_order_id',  # 客户端设备IP地址 Y
        'notify_url': 'test_product_id',  # 异步通知地址 N
    }
    # is_cny 是否采用人民币(CNY)计价,取值"TRUE"/"FALSE",默认值为"FALSE"
    wechat_cn = WechatCn(is_cny=False)
    wechat_cn.app_pay(params)
    ''' 第二步 / 调用微信支付SDK '''
    ''' 第三步 / 获取订单状态 '''
Exemple #9
0
# -*- coding: utf-8 -*-
from config import MERCHANT_NO
from kernel.api.wechat_cn import WechatCn

if __name__ == '__main__':

    params = {
        'merchant_no': MERCHANT_NO,
        'start_date': '20190101',
        'end_date': '20190120',
    }
    wechat_cn = WechatCn()
    wechat_cn.get_bill(params)
# -*- coding: utf-8 -*-
from config import MERCHANT_MINI_APPID, MERCHANT_NO
from kernel.api.wechat_cn import WechatCn

if __name__ == '__main__':
    ''' 第一步 获取用户登录凭证 '''
    ''' 第二步 获取openid '''
    ''' 第三步 下单,调用下列接口,传入参数 '''
    params = {
        'merchant_no': MERCHANT_NO,  # 商户号 Y
        'out_trade_id': 'your_trande_id',  # 商户交易流水号 Y
        'amount': '1',  # 支付单金额,单位为元,精度最多小数点后两位(如果是JPY和KRW,单位为分) Y
        'currency': 'HKD',  # 支付单结算币种
        'product_info': 'test product',  # 商品信息
        'appid': MERCHANT_MINI_APPID,  # 微信appid
        'openid': 'user_openid',  # 用户openid
        'client_ip': 'client_ip',  # 客户端设备IP地址
        'notify_url': 'your_notify_url',  # 异步通知地址
    }
    # is_cny 是否采用人民币(CNY)计价,取值"TRUE"/"FALSE",默认值为"FALSE"
    wechat_cn = WechatCn(is_cny=False)
    wechat_cn.mini_program_pay(params)
Exemple #11
0
# -*- coding: utf-8 -*-
from kernel.api.wechat_cn import WechatCn

if __name__ == '__main__':
    params = {
        'payment_no': 'hp_payment_no',  # 支付单号 N
        'out_trade_id': 'your_trade_id',  # 商户交易流水号 N
    }
    wechat_cn = WechatCn()
    wechat_cn.get_payment(params)
# -*- coding: utf-8 -*-
from kernel.api.wechat_cn import WechatCn

if __name__ == '__main__':
    params = {
        'out_trade_id': 'your_trade_id777',  # 商户交易流水号 Y
        'amount': '0.1',  # 支付单金额,单位为元,精度最多小数点后两位(如果是JPY和KRW,单位为分) Y
        'currency': 'HKD',  # 支付单结算币种 Y
        'auth_code': 'consumer_auth_code',  # 二维码内容 Y
        'product_info': 'test',  # 商品信息 Y
        'client_ip': '0.0.0.0',  # 客户端设备IP地址 Y
        # 'notify_url': '',                   # 异步通知地址 N
    }
    # is_cny 是否采用人民币(CNY)计价,取值"TRUE"/"FALSE",默认值为"FALSE"
    wechat_cn = WechatCn(is_cny=False)
    wechat_cn.merchant_scan_consumer(params)
# -*- coding: utf-8 -*-
from kernel.api.wechat_cn import WechatCn

if __name__ == '__main__':

    params = {
        'refund_no': 'hp_refund_no',  # 退款单号,和out_refund_id不可同时为空
        'out_refund_id': 'your_refund_id',  # 外部退款单号,和refund_no不可同时为空
    }
    wechat_cn = WechatCn()
    wechat_cn.get_refund(params)
# -*- coding: utf-8 -*-
from kernel.api.wechat_cn import WechatCn

if __name__ == '__main__':
    params = {
        'currency': 'HKD',  # 币种	        是
    }
    wechat_cn = WechatCn()
    wechat_cn.get_rate(params)
# -*- coding: utf-8 -*-
from kernel.api.wechat_cn import WechatCn

if __name__ == '__main__':
    params = {
        'out_trade_id': 'your_trade_id',             # 商户交易流水号 Y
        'amount': '10',                              # 支付单金额,单位为元,精度最多小数点后两位(如果是JPY和KRW,单位为分) Y
        'currency': 'HKD',                           # 支付单结算币种
        'product_info': 'test',                      # 商品信息
        'client_ip': '127.0.0.1',                    # 客户端设备IP地址
        'notify_url': 'your_notify_url',             # 异步通知地址
    }
    # is_cny 是否采用人民币(CNY)计价,取值"TRUE"/"FALSE",默认值为"FALSE"
    wechat_cn = WechatCn(is_cny=False)
    wechat_cn.consumer_scan_web(params)
Exemple #16
0
# -*- coding: utf-8 -*-
from kernel.api.wechat_cn import WechatCn

if __name__ == '__main__':

    params = {
        'payment_no': 'hp_payment_no',        # 支付单号 N
        'out_refund_id': 'your_refund_id',    # 外部退款单号 N
        'refund_amount': '100',               # 退款金额。传入此参数,可发起多次退款,退款总额不超过订单金额;不传此参数则是全额退款;
    }
    wechat_cn = WechatCn()
    wechat_cn.refund(params)