apple_pay.py 1.81 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
# -*- encoding: utf-8 -*-
# -----------------------------------------------------------------------------
# @File Name  : apple_pay.py
# @Time       : 2020/11/24 下午4:15
# @Author     : X. Peng
# @Email      : acepengxiong@163.com
# @Software   : PyCharm
# -----------------------------------------------------------------------------
import logging
import random
import uuid
import os
from flask import jsonify, session, request, current_app
from datetime import datetime, timedelta
import requests
import pickle
import json
import urllib

def apple_pay():
    """苹果支付"""
    '''
        "receipt-data":receipt_data,
        "exclude-old-transactions":"true",
        "password":"a1cdf6f00d3244aa9aa2c1c4a65b7ccf"
    '''
    data = request.get_data()
    # print(data)
    # data = data.decode('utf8','replace')
    data = eval(data)

    receipt_data = data["receipt-data"]
    receipt_data = urllib.request.unquote(receipt_data)

    print(receipt_data)
    formdata = {
        "receipt-data": receipt_data,
        "exclude-old-transactions": "true",
        "password": "a1cdf6f00d3244aa9aa2c1c4a65b7ccf"
    }
    # 正式验证地址 #测试验证地址
    AppStore_URL = ["https://buy.itunes.apple.com/verifyReceipt", "https://sandbox.itunes.apple.com/verifyReceipt"]

    dumped_json_string = json.dumps(formdata)

    # 首先先去正式,如果是测试的话,就再去测试
    response = requests.post(AppStore_URL[0], data=dumped_json_string)
    if response.status_code == 200:
        if response.json().get("status") == 21007:
            print("ceshi")
            response = requests.post(AppStore_URL[1], data=dumped_json_string)
            if response.status_code == 200:
                return response.json()
        # print(response.json())
        return response.json()
    else:
        return response.json()