这里是因为微信支付金额是以分为单位的,而支付宝是以元为单位的,这是两者的区别。在下单部分,需要将金额做一下处理,将元转化成分,下面是python的实现:

def trans_yuan_to_cent(total_fee):
    """微信支付时,需要将元转为分"""
    total_fee = str(total_fee)
    index = total_fee.find('.')
    length = len(total_fee)

    if index == -1:  # 当不存在小数点时候,也就是分,直接乘以100,这里是加两个0
        fee = int(total_fee + '00')
    elif length - index >= 3:  # 当传入金额待两位小数以上的时候
        fee = int(total_fee[0:index+3].replace('.', ''))
    elif length - index == 2:  # 当传入金额待一位小数时候
        fee = int(total_fee[0:index+2].replace('.', '')+'0')
    else:  # 当传入金额带一个小数点时候
        fee = int(total_fee[0:index+1].replace('.', '')+'00')

    return fee