apple_pay.py 34.5 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
# -*- 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

20
def apple_pay(receipt_data, product_id='com.qimeng.tanpuyun_test_3'):
21 22 23 24 25 26
    """苹果支付"""
    '''
        "receipt-data":receipt_data,
        "exclude-old-transactions":"true",
        "password":"a1cdf6f00d3244aa9aa2c1c4a65b7ccf"
    '''
27
    if not receipt_data:
28
        {'success': False, 'transaction_id': ''}
29 30 31 32 33 34 35 36 37 38 39 40 41 42
    receipt_data = urllib.request.unquote(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:
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
        resp_data = response.json()
        if resp_data.get("status") == 0:
            receipt_info = resp_data.get('latest_receipt_info', '')
            if receipt_info:
                for rec in receipt_info:
                    if rec['product_id'] == product_id:
                        transaction_id = rec['transaction_id']
                        return {'success': True, 'transaction_id': transaction_id}
            receipt_info = resp_data.get('receipt', '').get('in_app', '')
            if receipt_info:
                for rec in receipt_info:
                    if rec['product_id'] == product_id:
                        transaction_id = rec['transaction_id']
                        return {'success': True, 'transaction_id': transaction_id}
        elif resp_data.get("status") == 21007:
            # 测试账号
59 60
            response = requests.post(AppStore_URL[1], data=dumped_json_string)
            if response.status_code == 200:
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
                resp_data = response.json()
                if resp_data.get("status") == 0:
                    receipt_info = resp_data.get('latest_receipt_info', '')
                    if receipt_info:
                        for rec in receipt_info:
                            if rec['product_id'] == product_id:
                                transaction_id = rec['transaction_id']
                                return {'success': True, 'transaction_id': transaction_id}
                    receipt_info = resp_data.get('receipt', '').get('in_app', '')
                    if receipt_info:
                        for rec in receipt_info:
                            if rec['product_id'] == product_id:
                                transaction_id = rec['transaction_id']
                                return {'success': True, 'transaction_id': transaction_id}
    return {'success': False, 'transaction_id': ''}

77

78
if __name__ == '__main__':
79 80 81 82 83 84 85
    # receipt_data = 'MIIWpAYJKoZIhvcNAQcCoIIWlTCCFpECAQExCzAJBgUrDgMCGgUAMIIGRQYJKoZIhvcNAQcBoIIGNgSCBjIxggYuMAoCAQgCAQEEAhYAMAoCARQCAQEEAgwAMAsCAQECAQEEAwIBADALAgELAgEBBAMCAQAwCwIBDwIBAQQDAgEAMAsCARACAQEEAwIBADALAgEZAgEBBAMCAQMwDAIBAwIBAQQEDAIyNDAMAgEKAgEBBAQWAjQrMAwCAQ4CAQEEBAICAJ4wDQIBDQIBAQQFAgMB%2FowwDQIBEwIBAQQFDAMxLjAwDgIBCQIBAQQGAgRQMjU2MBgCAQQCAQIEEPMMKYjFWXjle2Q0cEGgeTIwGwIBAAIBAQQTDBFQcm9kdWN0aW9uU2FuZGJveDAcAgEFAgEBBBRKs0FreogYBnEqAKCHNCkSSJUiATAdAgECAgEBBBUME2NvbS5xaW1lbmcudGFucHV5dW4wHgIBDAIBAQQWFhQyMDIwLTExLTI2VDEyOjAxOjU2WjAeAgESAgEBBBYWFDIwMTMtMDgtMDFUMDc6MDA6MDBaMEYCAQcCAQEEPncsRTFYWxBF1fdO%2ByJg53frrFV7hSZjJJtEdCWoj54bjeRaIcmvg3kzG9ULxNcsDBN9WdlZzh6BUdinyXcOMFICAQYCAQEESk2oEEJpopN%2FWIOXkkrHwnVPoUGX8NSrNl6n1ygFLlkvv88%2BR0XON2c5g%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%2BxKDVWG%2F6QC15fKOVRtfX%2ByVBidxCxScY5ke4LOibpJ1gjltIhxzz9bRi7GxB24A6lYogQ%2BIXjV27fQjhKNg0xbKmg3k8LyvR7E0qEMSlhSqxLj7d0fmBWQNS3CzBLKjUiB91h4VGvojDE2H0oGDEdU8zeQuLKSiX1fpIVK4cCc4Lqku4KXY%2FQrk8H9Pm%2FKwfU8qY9SGsAlCnYO3v6Z%2Fv%2FCa%2FVbXqxzUUkIVonMQ5DMjoEC0KCXtlyxoWlph5AQaCYmObgdEHOwCl3Fc9DfdjvYLdmIHuPsB8%2FijtDT%2BiZVge%2FiA0kjAgMBAAGjggHXMIIB0zA%2FBggrBgEFBQcBAQQzMDEwLwYIKwYBBQUHMAGGI2h0dHA6Ly9vY3NwLmFwcGxlLmNvbS9vY3NwMDMtd3dkcjA0MB0GA1UdDgQWBBSRpJz8xHa3n6CK9E31jzZd7SsEhTAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFIgnFwmpthhgi%2BzruvZHWcVSVKO3MIIBHgYDVR0gBIIBFTCCAREwggENBgoqhkiG92NkBQYBMIH%2BMIHDBggrBgEFBQcCAjCBtgyBs1JlbGlhbmNlIG9uIHRoaXMgY2VydGlmaWNhdGUgYnkgYW55IHBhcnR5IGFzc3VtZXMgYWNjZXB0YW5jZSBvZiB0aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJkIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZSwgY2VydGlmaWNhdGUgcG9saWN5IGFuZCBjZXJ0aWZpY2F0aW9uIHByYWN0aWNlIHN0YXRlbWVudHMuMDYGCCsGAQUFBwIBFipodHRwOi8vd3d3LmFwcGxlLmNvbS9jZXJ0aWZpY2F0ZWF1dGhvcml0eS8wDgYDVR0PAQH%2FBAQDAgeAMBAGCiqGSIb3Y2QGCwEEAgUAMA0GCSqGSIb3DQEBBQUAA4IBAQANphvTLj3jWysHbkKWbNPojEMwgl%2FgXNGNvr0PvRr8JZLbjIXDgFnf4%2BLXLgUUrA3btrj%2B%2FDUufMutF2uOfx%2Fkd7mxZ5W0E16mGYZ2%2BFogledjjA9z%2FOjtxh%2BumfhlSFyg4Cg6wBA3LbmgBDkfc7nIBf3y3n8aKipuKwH8oCBc2et9J6Yz%2BPWY4L5E27FMZ%2FxuCk%2FJ4gao0pfzp45rUaJahHVl0RYEYuPBX%2FUIqc9o2ZIAycGMs%2FiNAGS6WGDAfK%2BPdcppuVsq1h1obphC9UynNxmbzDscehlD86Ntv0hgBgw2kivs3hi1EdotI9CO%2FKBpnBcbnoB7OUdFMGEvxxOoMIIEIjCCAwqgAwIBAgIIAd68xDltoBAwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkFwcGxlIEluYy4xJjAkBgNVBAsTHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRYwFAYDVQQDEw1BcHBsZSBSb290IENBMB4XDTEzMDIwNzIxNDg0N1oXDTIzMDIwNzIxNDg0N1owgZYxCzAJBgNVBAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDKOFSmy1aqyCQ5SOmM7uxfuH8mkbw0U3rOfGOAYXdkXqUHI7Y5%2FlAtFVZYcC1%2BxG7BSoU%2BL%2FDehBqhV8mvexj%2FavoVEkkVCBmsqtsqMu2WY2hSFT2Miuy%2FaxiV4AOsAX2XBWfODoWVN2rtCbauZ81RZJ%2FGXNG8V25nNYB2NqSHgW44j9grFU57Jdhav06DwY3Sk9UacbVgnJ0zTlX5ElgMhrgWDcHld0WNUEi6Ky3klIXh6MSdxmilsKP8Z35wugJZS3dCkTm59c3hTO%2FAO0iMpuUhXf1qarunFjVg0uat80YpyejDi%2Bl5wGphZxWy8P3laLxiX27Pmd3vG2P%2BkmWrAgMBAAGjgaYwgaMwHQYDVR0OBBYEFIgnFwmpthhgi%2BzruvZHWcVSVKO3MA8GA1UdEwEB%2FwQFMAMBAf8wHwYDVR0jBBgwFoAUK9BpR5R2Cf70a40uQKb3R01%2FCF4wLgYDVR0fBCcwJTAjoCGgH4YdaHR0cDovL2NybC5hcHBsZS5jb20vcm9vdC5jcmwwDgYDVR0PAQH%2FBAQDAgGGMBAGCiqGSIb3Y2QGAgEEAgUAMA0GCSqGSIb3DQEBBQUAA4IBAQBPz%2B9Zviz1smwvj%2B4ThzLoBTWobot9yWkMudkXvHcs1Gfi%2FZptOllc34MBvbKuKmFysa%2FNw0Uwj6ODDc4dR7Txk4qjdJukw5hyhzs%2Br0ULklS5MruQGFNrCk4QttkdUGwhgAqJTleMa1s8Pab93vcNIx0LSiaHP7qRkkykGRIZbVf1eliHe2iK5IaMSuviSRSqpd1VAKmuu0swruGgsbwpgOYJd%2BW%2BNKIByn%2Fc4grmO7i77LpilfMFY0GCzQ87HUyVpNur%2BcmV6U%2FkTecmmYHpvPm0KdIBembhLoz2IYrF%2BHjhga6%2F05Cdqa3zr%2F04GpZnMBxRpVzscYqCtGwPDBUfMIIEuzCCA6OgAwIBAgIBAjANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQGEwJVUzETMBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFjAUBgNVBAMTDUFwcGxlIFJvb3QgQ0EwHhcNMDYwNDI1MjE0MDM2WhcNMzUwMjA5MjE0MDM2WjBiMQswCQYDVQQGEwJVUzETMBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFjAUBgNVBAMTDUFwcGxlIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkkakJH5HbHkdQ6wXtXnmELes2oldMVeyLGYne%2BUts9QerIjAC6Bg%2B%2BFAJ039BqJj50cpmnCRrEdCju%2BQbKsMflZ56DKRHi1vUFjczy8QPTc4UadHJGXL1XQ7Vf1%2Bb8iUDulWPTV0N8WQ1IxVLFVkds5T39pyez1C6wVhQZ48ItCD3y6wsIG9wtj8BMIy3Q88PnT3zK0koGsj%2BzrW5DtleHNbLPbU6rfQPDgCSC7EhFi501TwN22IWq6NxkkdTVcGvL0Gz%2BPvjcM3mo0xFfh9Ma1CWQYnEdGILEINBhzOKgbEwWOxaBDKMaLOPHd5lc%2F9nXmW8Sdh2nzMUZaF3lMktAgMBAAGjggF6MIIBdjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH%2FBAUwAwEB%2FzAdBgNVHQ4EFgQUK9BpR5R2Cf70a40uQKb3R01%2FCF4wHwYDVR0jBBgwFoAUK9BpR5R2Cf70a40uQKb3R01%2FCF4wggERBgNVHSAEggEIMIIBBDCCAQAGCSqGSIb3Y2QFATCB8jAqBggrBgEFBQcCARYeaHR0cHM6Ly93d3cuYXBwbGUuY29tL2FwcGxlY2EvMIHDBggrBgEFBQcCAjCBthqBs1JlbGlhbmNlIG9uIHRoaXMgY2VydGlmaWNhdGUgYnkgYW55IHBhcnR5IGFzc3VtZXMgYWNjZXB0YW5jZSBvZiB0aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJkIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZSwgY2VydGlmaWNhdGUgcG9saWN5IGFuZCBjZXJ0aWZpY2F0aW9uIHByYWN0aWNlIHN0YXRlbWVudHMuMA0GCSqGSIb3DQEBBQUAA4IBAQBcNplMLXi37Yyb3PN3m%2FJ20ncwT8EfhYOFG5k9RzfyqZtAjizUsZAS2L70c5vu0mQPy3lPNNiiPvl4%2F2vIB%2Bx9OYOLUyDTOMSxv5pPCmv%2FK%2FxZpwUJfBdAVhEedNO3iyM7R6PVbyTi69G3cN8PReEnyvFteO3ntRcXqNx%2BIjXKJdXZD9Zr1KIkIxH3oayPc4FgxhtbCS%2BSsvhESPBgOJ4V9T0mZyCKM2r3DYLP3uujL%2FlTaltkwGMzd%2Fc6ByxW69oPIQ7aunMZT7XZNn%2FBh1XZp5m5MkL72NVxnn6hUrcbvZNCJBIqxw8dtk2cXmPIS4AXUKqK1drk%2FNAJBzewdXUhMYIByzCCAccCAQEwgaMwgZYxCzAJBgNVBAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkCCA7rV4fnngmNMAkGBSsOAwIaBQAwDQYJKoZIhvcNAQEBBQAEggEAnm6KCn212cEzoEX%2B7EtFKsd5T9dwd5Z17ikBrWeLWXmSrsgLePc98DUqoDVTfpeyU5lxcoMsmY6JiG2%2B0eXbDAWha%2FQxt%2B2YFPID0JfczxqKWG821q7jyVT6dFjN9si8BfXAQp3aY2oF%2BKz%2FoK1XenjmKgtKiPO7iyphT5Q72B6kc%2BAAsO2q9M7Ff7SjKApM9Fklew%2FLJ9J2K6%2BVQUXxPMgg8HO%2Benbn1MZJ8fBO%2BJH8PTMwx1AIXKYfMtvBmryj76lI3Tiysr927mqRJ8xOwJFf4GbVhequcASz2vQTFAiokUrWxDBwoXMGtg6wzsoq49FIVNs6NvKkjwa6YLytvw%3D%3D'
    receipt_data = 'MIIWqQYJKoZIhvcNAQcCoIIWmjCCFpYCAQExCzAJBgUrDgMCGgUAMIIGSgYJKoZIhvcNAQcBoIIGOwSCBjcxggYzMAoCAQgCAQEEAhYAMAoCARQCAQEEAgwAMAsCAQECAQEEAwIBADALAgELAgEBBAMCAQAwCwIBDwIBAQQDAgEAMAsCARACAQEEAwIBADALAgEZAgEBBAMCAQMwDAIBAwIBAQQEDAIyNDAMAgEKAgEBBAQWAjQrMAwCAQ4CAQEEBAICAJ4wDQIBDQIBAQQFAgMB%2FowwDQIBEwIBAQQFDAMxLjAwDgIBCQIBAQQGAgRQMjU2MBgCAQQCAQIEECFoXa2qntAaMHCVnn%2FcS4owGwIBAAIBAQQTDBFQcm9kdWN0aW9uU2FuZGJveDAcAgEFAgEBBBSTmGxo2TKF94LjpBfJ2KteVpGdrzAdAgECAgEBBBUME2NvbS5xaW1lbmcudGFucHV5dW4wHgIBDAIBAQQWFhQyMDIwLTExLTI3VDAzOjAzOjI5WjAeAgESAgEBBBYWFDIwMTMtMDgtMDFUMDc6MDA6MDBaMEUCAQcCAQEEPZW4TyLsU84d4pMWdAnvdQwBURzDdkB2vDmzWCs%2FLrxpz46ux3Y3KOftj1NdSiLmVFpjt2aF82IbBGI531gwWAIBBgIBAQRQkP3oLgCpkODRj1JRO1%2FBtz1DGSmIz9OiV99uKNIplOL0sU7Xq%2FO9Qe4eyugroMw2Vv1JGdezbSAEMgHTNeIpPPCTgzBhzRHG7RQkPVrKko0wggFfAgERAgEBBIIBVTGCAVEwCwICBqwCAQEEAhYAMAsCAgatAgEBBAIMADALAgIGsAIBAQQCFgAwCwICBrICAQEEAgwAMAsCAgazAgEBBAIMADALAgIGtAIBAQQCDAAwCwICBrUCAQEEAgwAMAsCAga2AgEBBAIMADAMAgIGpQIBAQQDAgEBMAwCAgarAgEBBAMCAQAwDAICBq4CAQEEAwIBADAMAgIGrwIBAQQDAgEAMAwCAgaxAgEBBAMCAQAwGwICBqcCAQEEEgwQMTAwMDAwMDc0MjY2NjAyMzAbAgIGqQIBAQQSDBAxMDAwMDAwNzQyNjY2MDIzMB8CAgaoAgEBBBYWFDIwMjAtMTEtMTdUMDU6NTc6MzJaMB8CAgaqAgEBBBYWFDIwMjAtMTEtMTdUMDU6NTc6MzJaMCUCAgamAgEBBBwMGmNvbS5xaW1lbmcudGFucHV5dW5fdGVzdF8xMIIBXwIBEQIBAQSCAVUxggFRMAsCAgasAgEBBAIWADALAgIGrQIBAQQCDAAwCwICBrACAQEEAhYAMAsCAgayAgEBBAIMADALAgIGswIBAQQCDAAwCwICBrQCAQEEAgwAMAsCAga1AgEBBAIMADALAgIGtgIBAQQCDAAwDAICBqUCAQEEAwIBATAMAgIGqwIBAQQDAgEAMAwCAgauAgEBBAMCAQAwDAICBq8CAQEEAwIBADAMAgIGsQIBAQQDAgEAMBsCAganAgEBBBIMEDEwMDAwMDA3NDI4ODUzMzgwGwICBqkCAQEEEgwQMTAwMDAwMDc0Mjg4NTMzODAfAgIGqAIBAQQWFhQyMDIwLTExLTE3VDEyOjI0OjUwWjAfAgIGqgIBAQQWFhQyMDIwLTExLTE3VDEyOjI0OjUwWjAlAgIGpgIBAQQcDBpjb20ucWltZW5nLnRhbnB1eXVuX3Rlc3RfMzCCAWMCARECAQEEggFZMYIBVTALAgIGrAIBAQQCFgAwCwICBq0CAQEEAgwAMAsCAgawAgEBBAIWADALAgIGsgIBAQQCDAAwCwICBrMCAQEEAgwAMAsCAga0AgEBBAIMADALAgIGtQIBAQQCDAAwCwICBrYCAQEEAgwAMAwCAgalAgEBBAMCAQEwDAICBqsCAQEEAwIBATAMAgIGrgIBAQQDAgEAMAwCAgavAgEBBAMCAQAwDAICBrECAQEEAwIBADAbAgIGpwIBAQQSDBAxMDAwMDAwNzQ3MDY4OTE0MBsCAgapAgEBBBIMEDEwMDAwMDA3NDcwNjg5MTQwHwICBqgCAQEEFhYUMjAyMC0xMS0yN1QwMzowMzoyOVowHwICBqoCAQEEFhYUMjAyMC0xMS0yN1QwMzowMzoyOVowKQICBqYCAQEEIAweY29tLnFpbWVuZy50YW5wdXl1bl90YW5wdWJlaTg4oIIOZTCCBXwwggRkoAMCAQICCA7rV4fnngmNMA0GCSqGSIb3DQEBBQUAMIGWMQswCQYDVQQGEwJVUzETMBEGA1UECgwKQXBwbGUgSW5jLjEsMCoGA1UECwwjQXBwbGUgV29ybGR3aWRlIERldmVsb3BlciBSZWxhdGlvbnMxRDBCBgNVBAMMO0FwcGxlIFdvcmxkd2lkZSBEZXZlbG9wZXIgUmVsYXRpb25zIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTE1MTExMzAyMTUwOVoXDTIzMDIwNzIxNDg0N1owgYkxNzA1BgNVBAMMLk1hYyBBcHAgU3RvcmUgYW5kIGlUdW5lcyBTdG9yZSBSZWNlaXB0IFNpZ25pbmcxLDAqBgNVBAsMI0FwcGxlIFdvcmxkd2lkZSBEZXZlbG9wZXIgUmVsYXRpb25zMRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKXPgf0looFb1oftI9ozHI7iI8ClxCbLPcaf7EoNVYb%2FpALXl8o5VG19f7JUGJ3ELFJxjmR7gs6JuknWCOW0iHHPP1tGLsbEHbgDqViiBD4heNXbt9COEo2DTFsqaDeTwvK9HsTSoQxKWFKrEuPt3R%2BYFZA1LcLMEsqNSIH3WHhUa%2BiMMTYfSgYMR1TzN5C4spKJfV%2BkhUrhwJzguqS7gpdj9CuTwf0%2Bb8rB9Typj1IawCUKdg7e%2Fpn%2B%2F8Jr9VterHNRSQhWicxDkMyOgQLQoJe2XLGhaWmHkBBoJiY5uB0Qc7AKXcVz0N92O9gt2Yge4%2BwHz%2BKO0NP6JlWB7%2BIDSSMCAwEAAaOCAdcwggHTMD8GCCsGAQUFBwEBBDMwMTAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwMy13d2RyMDQwHQYDVR0OBBYEFJGknPzEdrefoIr0TfWPNl3tKwSFMAwGA1UdEwEB%2FwQCMAAwHwYDVR0jBBgwFoAUiCcXCam2GGCL7Ou69kdZxVJUo7cwggEeBgNVHSAEggEVMIIBETCCAQ0GCiqGSIb3Y2QFBgEwgf4wgcMGCCsGAQUFBwICMIG2DIGzUmVsaWFuY2Ugb24gdGhpcyBjZXJ0aWZpY2F0ZSBieSBhbnkgcGFydHkgYXNzdW1lcyBhY2NlcHRhbmNlIG9mIHRoZSB0aGVuIGFwcGxpY2FibGUgc3RhbmRhcmQgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdXNlLCBjZXJ0aWZpY2F0ZSBwb2xpY3kgYW5kIGNlcnRpZmljYXRpb24gcHJhY3RpY2Ugc3RhdGVtZW50cy4wNgYIKwYBBQUHAgEWKmh0dHA6Ly93d3cuYXBwbGUuY29tL2NlcnRpZmljYXRlYXV0aG9yaXR5LzAOBgNVHQ8BAf8EBAMCB4AwEAYKKoZIhvdjZAYLAQQCBQAwDQYJKoZIhvcNAQEFBQADggEBAA2mG9MuPeNbKwduQpZs0%2BiMQzCCX%2BBc0Y2%2BvQ%2B9GvwlktuMhcOAWd%2Fj4tcuBRSsDdu2uP78NS58y60Xa45%2FH%2BR3ubFnlbQTXqYZhnb4WiCV52OMD3P86O3GH66Z%2BGVIXKDgKDrAEDctuaAEOR9zucgF%2FfLefxoqKm4rAfygIFzZ630npjP49ZjgvkTbsUxn%2FG4KT8niBqjSl%2FOnjmtRolqEdWXRFgRi48Ff9Qipz2jZkgDJwYyz%2BI0AZLpYYMB8r491ymm5WyrWHWhumEL1TKc3GZvMOxx6GUPzo22%2FSGAGDDaSK%2BzeGLUR2i0j0I78oGmcFxuegHs5R0UwYS%2FHE6gwggQiMIIDCqADAgECAggB3rzEOW2gEDANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQGEwJVUzETMBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFjAUBgNVBAMTDUFwcGxlIFJvb3QgQ0EwHhcNMTMwMjA3MjE0ODQ3WhcNMjMwMjA3MjE0ODQ3WjCBljELMAkGA1UEBhMCVVMxEzARBgNVBAoMCkFwcGxlIEluYy4xLDAqBgNVBAsMI0FwcGxlIFdvcmxkd2lkZSBEZXZlbG9wZXIgUmVsYXRpb25zMUQwQgYDVQQDDDtBcHBsZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9ucyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMo4VKbLVqrIJDlI6Yzu7F%2B4fyaRvDRTes58Y4Bhd2RepQcjtjn%2BUC0VVlhwLX7EbsFKhT4v8N6EGqFXya97GP9q%2BhUSSRUIGayq2yoy7ZZjaFIVPYyK7L9rGJXgA6wBfZcFZ84OhZU3au0Jtq5nzVFkn8Zc0bxXbmc1gHY2pIeBbjiP2CsVTnsl2Fq%2FToPBjdKT1RpxtWCcnTNOVfkSWAyGuBYNweV3RY1QSLorLeSUheHoxJ3GaKWwo%2FxnfnC6AllLd0KRObn1zeFM78A7SIym5SFd%2FWpqu6cWNWDS5q3zRinJ6MOL6XnAamFnFbLw%2FeVovGJfbs%2BZ3e8bY%2F6SZasCAwEAAaOBpjCBozAdBgNVHQ4EFgQUiCcXCam2GGCL7Ou69kdZxVJUo7cwDwYDVR0TAQH%2FBAUwAwEB%2FzAfBgNVHSMEGDAWgBQr0GlHlHYJ%2FvRrjS5ApvdHTX8IXjAuBgNVHR8EJzAlMCOgIaAfhh1odHRwOi8vY3JsLmFwcGxlLmNvbS9yb290LmNybDAOBgNVHQ8BAf8EBAMCAYYwEAYKKoZIhvdjZAYCAQQCBQAwDQYJKoZIhvcNAQEFBQADggEBAE%2FP71m%2BLPWybC%2BP7hOHMugFNahui33JaQy52Re8dyzUZ%2BL9mm06WVzfgwG9sq4qYXKxr83DRTCPo4MNzh1HtPGTiqN0m6TDmHKHOz6vRQuSVLkyu5AYU2sKThC22R1QbCGAColOV4xrWzw9pv3e9w0jHQtKJoc%2FupGSTKQZEhltV%2FV6WId7aIrkhoxK6%2BJJFKql3VUAqa67SzCu4aCxvCmA5gl35b40ogHKf9ziCuY7uLvsumKV8wVjQYLNDzsdTJWk26v5yZXpT%2BRN5yaZgem8%2BbQp0gF6ZuEujPYhisX4eOGBrr%2FTkJ2prfOv%2FTgalmcwHFGlXOxxioK0bA8MFR8wggS7MIIDo6ADAgECAgECMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNVBAYTAlVTMRMwEQYDVQQKEwpBcHBsZSBJbmMuMSYwJAYDVQQLEx1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEWMBQGA1UEAxMNQXBwbGUgUm9vdCBDQTAeFw0wNjA0MjUyMTQwMzZaFw0zNTAyMDkyMTQwMzZaMGIxCzAJBgNVBAYTAlVTMRMwEQYDVQQKEwpBcHBsZSBJbmMuMSYwJAYDVQQLEx1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEWMBQGA1UEAxMNQXBwbGUgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOSRqQkfkdseR1DrBe1eeYQt6zaiV0xV7IsZid75S2z1B6siMALoGD74UAnTf0GomPnRymacJGsR0KO75Bsqwx%2BVnnoMpEeLW9QWNzPLxA9NzhRp0ckZcvVdDtV%2FX5vyJQO6VY9NXQ3xZDUjFUsVWR2zlPf2nJ7PULrBWFBnjwi0IPfLrCwgb3C2PwEwjLdDzw%2BdPfMrSSgayP7OtbkO2V4c1ss9tTqt9A8OAJILsSEWLnTVPA3bYharo3GSR1NVwa8vQbP4%2B%2BNwzeajTEV%2BH0xrUJZBicR0YgsQg0GHM4qBsTBY7FoEMoxos48d3mVz%2F2deZbxJ2HafMxRloXeUyS0CAwEAAaOCAXowggF2MA4GA1UdDwEB%2FwQEAwIBBjAPBgNVHRMBAf8EBTADAQH%2FMB0GA1UdDgQWBBQr0GlHlHYJ%2FvRrjS5ApvdHTX8IXjAfBgNVHSMEGDAWgBQr0GlHlHYJ%2FvRrjS5ApvdHTX8IXjCCAREGA1UdIASCAQgwggEEMIIBAAYJKoZIhvdjZAUBMIHyMCoGCCsGAQUFBwIBFh5odHRwczovL3d3dy5hcHBsZS5jb20vYXBwbGVjYS8wgcMGCCsGAQUFBwICMIG2GoGzUmVsaWFuY2Ugb24gdGhpcyBjZXJ0aWZpY2F0ZSBieSBhbnkgcGFydHkgYXNzdW1lcyBhY2NlcHRhbmNlIG9mIHRoZSB0aGVuIGFwcGxpY2FibGUgc3RhbmRhcmQgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdXNlLCBjZXJ0aWZpY2F0ZSBwb2xpY3kgYW5kIGNlcnRpZmljYXRpb24gcHJhY3RpY2Ugc3RhdGVtZW50cy4wDQYJKoZIhvcNAQEFBQADggEBAFw2mUwteLftjJvc83eb8nbSdzBPwR%2BFg4UbmT1HN%2FKpm0COLNSxkBLYvvRzm%2B7SZA%2FLeU802KI%2B%2BXj%2Fa8gH7H05g4tTINM4xLG%2Fmk8Ka%2F8r%2FFmnBQl8F0BWER5007eLIztHo9VvJOLr0bdw3w9F4SfK8W147ee1Fxeo3H4iNcol1dkP1mvUoiQjEfehrI9zgWDGG1sJL5Ky%2BERI8GA4nhX1PSZnIIozavcNgs%2Fe66Mv%2BVNqW2TAYzN39zoHLFbr2g8hDtq6cxlPtdk2f8GHVdmnmbkyQvvY1XGefqFStxu9k0IkEirHDx22TZxeY8hLgBdQqorV2uT80AkHN7B1dSExggHLMIIBxwIBATCBozCBljELMAkGA1UEBhMCVVMxEzARBgNVBAoMCkFwcGxlIEluYy4xLDAqBgNVBAsMI0FwcGxlIFdvcmxkd2lkZSBEZXZlbG9wZXIgUmVsYXRpb25zMUQwQgYDVQQDDDtBcHBsZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9ucyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQIIDutXh%2BeeCY0wCQYFKw4DAhoFADANBgkqhkiG9w0BAQEFAASCAQCBIxiQnH53BQ%2BPBjUe0P%2Fzt292qiyKYodbyHBrlSzvhxpxywHPV0iohT%2Fw0yKeJMBrkMMnlSMYS4DKAW%2B14I0Aw55oEdB10TI%2BpwgYyBvmw7wBK5VsqSArxLM8PgFxAGWSUCcEvfAJR%2BDFr6AE3hGoyhaWl5nE9E4AgYV0lo1SXb1oezvurCbOXvFzpQ%2BSsqoGUQGMKBT2JDyWP0EsBLeO0DZC5L6sb1rHpGgy37JiPvaHzyQTXHmmp%2BtzdHFWj038vDH75c6Y5BstubyV0fP7JF%2BSZOkEw2%2FiGiwLTb4fDh6ezYXW8W95jGQYhNlFwYB4htLpNUiqIf9zXO5bYt8g'
    receipt_data = 'MIIWpwYJKoZIhvcNAQcCoIIWmDCCFpQCAQExCzAJBgUrDgMCGgUAMIIGSAYJKoZIhvcNAQcBoIIGOQSCBjUxggYxMAoCAQgCAQEEAhYAMAoCARQCAQEEAgwAMAsCAQECAQEEAwIBADALAgELAgEBBAMCAQAwCwIBDwIBAQQDAgEAMAsCARACAQEEAwIBADALAgEZAgEBBAMCAQMwDAIBAwIBAQQEDAIyNDAMAgEKAgEBBAQWAjQrMAwCAQ4CAQEEBAICAJ4wDQIBDQIBAQQFAgMB%2FowwDQIBEwIBAQQFDAMxLjAwDgIBCQIBAQQGAgRQMjU2MBgCAQQCAQIEEOWzvfojBKpi4XyjCVgzeXwwGwIBAAIBAQQTDBFQcm9kdWN0aW9uU2FuZGJveDAcAgEFAgEBBBS8mpyetKOpFhfXIFm3IkN5rIneAjAdAgECAgEBBBUME2NvbS5xaW1lbmcudGFucHV5dW4wHgIBDAIBAQQWFhQyMDIwLTExLTI3VDA2OjMwOjUxWjAeAgESAgEBBBYWFDIwMTMtMDgtMDFUMDc6MDA6MDBaMEECAQcCAQEEOao8m8wfYq2cA%2Bh8iHoZ3KvM4vt3yQ3ajlrYaOQUb8k%2F8OpA39ISfxYJrFZ%2F5YkGxgFUUHCsZMsOujBZAgEGAgEBBFGXJsFGOz1Sozqxkh%2BDiwFG%2Bbt5f%2F%2FWY33XaWFUaVPMTBL7hBrEzVWUJWXIxSSaNVcnf1ZnaV9MYshaJYkrplVavvVB8hsNT%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%2BxKDVWG%2F6QC15fKOVRtfX%2ByVBidxCxScY5ke4LOibpJ1gjltIhxzz9bRi7GxB24A6lYogQ%2BIXjV27fQjhKNg0xbKmg3k8LyvR7E0qEMSlhSqxLj7d0fmBWQNS3CzBLKjUiB91h4VGvojDE2H0oGDEdU8zeQuLKSiX1fpIVK4cCc4Lqku4KXY%2FQrk8H9Pm%2FKwfU8qY9SGsAlCnYO3v6Z%2Fv%2FCa%2FVbXqxzUUkIVonMQ5DMjoEC0KCXtlyxoWlph5AQaCYmObgdEHOwCl3Fc9DfdjvYLdmIHuPsB8%2FijtDT%2BiZVge%2FiA0kjAgMBAAGjggHXMIIB0zA%2FBggrBgEFBQcBAQQzMDEwLwYIKwYBBQUHMAGGI2h0dHA6Ly9vY3NwLmFwcGxlLmNvbS9vY3NwMDMtd3dkcjA0MB0GA1UdDgQWBBSRpJz8xHa3n6CK9E31jzZd7SsEhTAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFIgnFwmpthhgi%2BzruvZHWcVSVKO3MIIBHgYDVR0gBIIBFTCCAREwggENBgoqhkiG92NkBQYBMIH%2BMIHDBggrBgEFBQcCAjCBtgyBs1JlbGlhbmNlIG9uIHRoaXMgY2VydGlmaWNhdGUgYnkgYW55IHBhcnR5IGFzc3VtZXMgYWNjZXB0YW5jZSBvZiB0aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJkIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZSwgY2VydGlmaWNhdGUgcG9saWN5IGFuZCBjZXJ0aWZpY2F0aW9uIHByYWN0aWNlIHN0YXRlbWVudHMuMDYGCCsGAQUFBwIBFipodHRwOi8vd3d3LmFwcGxlLmNvbS9jZXJ0aWZpY2F0ZWF1dGhvcml0eS8wDgYDVR0PAQH%2FBAQDAgeAMBAGCiqGSIb3Y2QGCwEEAgUAMA0GCSqGSIb3DQEBBQUAA4IBAQANphvTLj3jWysHbkKWbNPojEMwgl%2FgXNGNvr0PvRr8JZLbjIXDgFnf4%2BLXLgUUrA3btrj%2B%2FDUufMutF2uOfx%2Fkd7mxZ5W0E16mGYZ2%2BFogledjjA9z%2FOjtxh%2BumfhlSFyg4Cg6wBA3LbmgBDkfc7nIBf3y3n8aKipuKwH8oCBc2et9J6Yz%2BPWY4L5E27FMZ%2FxuCk%2FJ4gao0pfzp45rUaJahHVl0RYEYuPBX%2FUIqc9o2ZIAycGMs%2FiNAGS6WGDAfK%2BPdcppuVsq1h1obphC9UynNxmbzDscehlD86Ntv0hgBgw2kivs3hi1EdotI9CO%2FKBpnBcbnoB7OUdFMGEvxxOoMIIEIjCCAwqgAwIBAgIIAd68xDltoBAwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkFwcGxlIEluYy4xJjAkBgNVBAsTHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRYwFAYDVQQDEw1BcHBsZSBSb290IENBMB4XDTEzMDIwNzIxNDg0N1oXDTIzMDIwNzIxNDg0N1owgZYxCzAJBgNVBAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDKOFSmy1aqyCQ5SOmM7uxfuH8mkbw0U3rOfGOAYXdkXqUHI7Y5%2FlAtFVZYcC1%2BxG7BSoU%2BL%2FDehBqhV8mvexj%2FavoVEkkVCBmsqtsqMu2WY2hSFT2Miuy%2FaxiV4AOsAX2XBWfODoWVN2rtCbauZ81RZJ%2FGXNG8V25nNYB2NqSHgW44j9grFU57Jdhav06DwY3Sk9UacbVgnJ0zTlX5ElgMhrgWDcHld0WNUEi6Ky3klIXh6MSdxmilsKP8Z35wugJZS3dCkTm59c3hTO%2FAO0iMpuUhXf1qarunFjVg0uat80YpyejDi%2Bl5wGphZxWy8P3laLxiX27Pmd3vG2P%2BkmWrAgMBAAGjgaYwgaMwHQYDVR0OBBYEFIgnFwmpthhgi%2BzruvZHWcVSVKO3MA8GA1UdEwEB%2FwQFMAMBAf8wHwYDVR0jBBgwFoAUK9BpR5R2Cf70a40uQKb3R01%2FCF4wLgYDVR0fBCcwJTAjoCGgH4YdaHR0cDovL2NybC5hcHBsZS5jb20vcm9vdC5jcmwwDgYDVR0PAQH%2FBAQDAgGGMBAGCiqGSIb3Y2QGAgEEAgUAMA0GCSqGSIb3DQEBBQUAA4IBAQBPz%2B9Zviz1smwvj%2B4ThzLoBTWobot9yWkMudkXvHcs1Gfi%2FZptOllc34MBvbKuKmFysa%2FNw0Uwj6ODDc4dR7Txk4qjdJukw5hyhzs%2Br0ULklS5MruQGFNrCk4QttkdUGwhgAqJTleMa1s8Pab93vcNIx0LSiaHP7qRkkykGRIZbVf1eliHe2iK5IaMSuviSRSqpd1VAKmuu0swruGgsbwpgOYJd%2BW%2BNKIByn%2Fc4grmO7i77LpilfMFY0GCzQ87HUyVpNur%2BcmV6U%2FkTecmmYHpvPm0KdIBembhLoz2IYrF%2BHjhga6%2F05Cdqa3zr%2F04GpZnMBxRpVzscYqCtGwPDBUfMIIEuzCCA6OgAwIBAgIBAjANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQGEwJVUzETMBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFjAUBgNVBAMTDUFwcGxlIFJvb3QgQ0EwHhcNMDYwNDI1MjE0MDM2WhcNMzUwMjA5MjE0MDM2WjBiMQswCQYDVQQGEwJVUzETMBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFjAUBgNVBAMTDUFwcGxlIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkkakJH5HbHkdQ6wXtXnmELes2oldMVeyLGYne%2BUts9QerIjAC6Bg%2B%2BFAJ039BqJj50cpmnCRrEdCju%2BQbKsMflZ56DKRHi1vUFjczy8QPTc4UadHJGXL1XQ7Vf1%2Bb8iUDulWPTV0N8WQ1IxVLFVkds5T39pyez1C6wVhQZ48ItCD3y6wsIG9wtj8BMIy3Q88PnT3zK0koGsj%2BzrW5DtleHNbLPbU6rfQPDgCSC7EhFi501TwN22IWq6NxkkdTVcGvL0Gz%2BPvjcM3mo0xFfh9Ma1CWQYnEdGILEINBhzOKgbEwWOxaBDKMaLOPHd5lc%2F9nXmW8Sdh2nzMUZaF3lMktAgMBAAGjggF6MIIBdjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH%2FBAUwAwEB%2FzAdBgNVHQ4EFgQUK9BpR5R2Cf70a40uQKb3R01%2FCF4wHwYDVR0jBBgwFoAUK9BpR5R2Cf70a40uQKb3R01%2FCF4wggERBgNVHSAEggEIMIIBBDCCAQAGCSqGSIb3Y2QFATCB8jAqBggrBgEFBQcCARYeaHR0cHM6Ly93d3cuYXBwbGUuY29tL2FwcGxlY2EvMIHDBggrBgEFBQcCAjCBthqBs1JlbGlhbmNlIG9uIHRoaXMgY2VydGlmaWNhdGUgYnkgYW55IHBhcnR5IGFzc3VtZXMgYWNjZXB0YW5jZSBvZiB0aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJkIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZSwgY2VydGlmaWNhdGUgcG9saWN5IGFuZCBjZXJ0aWZpY2F0aW9uIHByYWN0aWNlIHN0YXRlbWVudHMuMA0GCSqGSIb3DQEBBQUAA4IBAQBcNplMLXi37Yyb3PN3m%2FJ20ncwT8EfhYOFG5k9RzfyqZtAjizUsZAS2L70c5vu0mQPy3lPNNiiPvl4%2F2vIB%2Bx9OYOLUyDTOMSxv5pPCmv%2FK%2FxZpwUJfBdAVhEedNO3iyM7R6PVbyTi69G3cN8PReEnyvFteO3ntRcXqNx%2BIjXKJdXZD9Zr1KIkIxH3oayPc4FgxhtbCS%2BSsvhESPBgOJ4V9T0mZyCKM2r3DYLP3uujL%2FlTaltkwGMzd%2Fc6ByxW69oPIQ7aunMZT7XZNn%2FBh1XZp5m5MkL72NVxnn6hUrcbvZNCJBIqxw8dtk2cXmPIS4AXUKqK1drk%2FNAJBzewdXUhMYIByzCCAccCAQEwgaMwgZYxCzAJBgNVBAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkCCA7rV4fnngmNMAkGBSsOAwIaBQAwDQYJKoZIhvcNAQEBBQAEggEACPhAH%2BwPTgurg%2BVE0T0VDNIgGL95UNMRozLBS9WKxffCoLaARq6m36HMnlJJT%2FWe2O6ZwBwFDNGhDbNMDc8EIs2jcZ%2FPqjOQOTnfJVoMiJr9Bu3Ss8Ka4NfzuKsYkOU7SxrencFHURawREY%2BglgcJ%2FQYYKA4hYXC6SwCtMAO7KEA6OMFvHZiHsXT7fIgGWjXq3FcoulfmPC1b98WaHsiHdVJx%2BC%2BM0eRiZmGkySpGsNKZF0vuz4mly6JV7HWHL8MAEdEEDIL03ClYlwLH8YGdgyh6DeaZIXp4DVQq0kMXLV4CtBm0wY8Jl11nhes%2BlXG9rV6Ad3e2sm1pAkG0mJTTg%3D%3D'
    receipt_data = 'MIIWpQYJKoZIhvcNAQcCoIIWljCCFpICAQExCzAJBgUrDgMCGgUAMIIGRgYJKoZIhvcNAQcBoIIGNwSCBjMxggYvMAoCAQgCAQEEAhYAMAoCARQCAQEEAgwAMAsCAQECAQEEAwIBADALAgELAgEBBAMCAQAwCwIBDwIBAQQDAgEAMAsCARACAQEEAwIBADALAgEZAgEBBAMCAQMwDAIBAwIBAQQEDAIyNDAMAgEKAgEBBAQWAjQrMAwCAQ4CAQEEBAICAJ4wDQIBDQIBAQQFAgMB%2FowwDQIBEwIBAQQFDAMxLjAwDgIBCQIBAQQGAgRQMjU2MBgCAQQCAQIEEGLQjvbwia8LdbHEKphBbw0wGwIBAAIBAQQTDBFQcm9kdWN0aW9uU2FuZGJveDAcAgEFAgEBBBTiJWtzi5LILMppYNeP65hAms%2BfIzAdAgECAgEBBBUME2NvbS5xaW1lbmcudGFucHV5dW4wHgIBDAIBAQQWFhQyMDIwLTExLTI3VDA3OjA0OjMxWjAeAgESAgEBBBYWFDIwMTMtMDgtMDFUMDc6MDA6MDBaMEcCAQcCAQEEP%2FwSCUfw%2B5%2F67ApEF4mbICns7jzFPg7PbiXQlM37HSzqBtfeBTQiCudNHMRI2G5o9QzjnFhWfE577l0AZZ31VzBRAgEGAgEBBEmEv7Lmya12iyWVsEKdQvTktPTnywWn%2F97fILd2lX9%2BMW6Ui4KkBYlsTcj%2BDkubBHB5yTsGeoDXOdrlQSf4NaUrESwko0tzlbfgMIIBXwIBEQIBAQSCAVUxggFRMAsCAgasAgEBBAIWADALAgIGrQIBAQQCDAAwCwICBrACAQEEAhYAMAsCAgayAgEBBAIMADALAgIGswIBAQQCDAAwCwICBrQCAQEEAgwAMAsCAga1AgEBBAIMADALAgIGtgIBAQQCDAAwDAICBqUCAQEEAwIBATAMAgIGqwIBAQQDAgEAMAwCAgauAgEBBAMCAQAwDAICBq8CAQEEAwIBADAMAgIGsQIBAQQDAgEAMBsCAganAgEBBBIMEDEwMDAwMDA3NDI2NjYwMjMwGwICBqkCAQEEEgwQMTAwMDAwMDc0MjY2NjAyMzAfAgIGqAIBAQQWFhQyMDIwLTExLTE3VDA1OjU3OjMyWjAfAgIGqgIBAQQWFhQyMDIwLTExLTE3VDA1OjU3OjMyWjAlAgIGpgIBAQQcDBpjb20ucWltZW5nLnRhbnB1eXVuX3Rlc3RfMTCCAV8CARECAQEEggFVMYIBUTALAgIGrAIBAQQCFgAwCwICBq0CAQEEAgwAMAsCAgawAgEBBAIWADALAgIGsgIBAQQCDAAwCwICBrMCAQEEAgwAMAsCAga0AgEBBAIMADALAgIGtQIBAQQCDAAwCwICBrYCAQEEAgwAMAwCAgalAgEBBAMCAQEwDAICBqsCAQEEAwIBADAMAgIGrgIBAQQDAgEAMAwCAgavAgEBBAMCAQAwDAICBrECAQEEAwIBADAbAgIGpwIBAQQSDBAxMDAwMDAwNzQyODg1MzM4MBsCAgapAgEBBBIMEDEwMDAwMDA3NDI4ODUzMzgwHwICBqgCAQEEFhYUMjAyMC0xMS0xN1QxMjoyNDo1MFowHwICBqoCAQEEFhYUMjAyMC0xMS0xN1QxMjoyNDo1MFowJQICBqYCAQEEHAwaY29tLnFpbWVuZy50YW5wdXl1bl90ZXN0XzMwggFkAgERAgEBBIIBWjGCAVYwCwICBqwCAQEEAhYAMAsCAgatAgEBBAIMADALAgIGsAIBAQQCFgAwCwICBrICAQEEAgwAMAsCAgazAgEBBAIMADALAgIGtAIBAQQCDAAwCwICBrUCAQEEAgwAMAsCAga2AgEBBAIMADAMAgIGpQIBAQQDAgEBMAwCAgarAgEBBAMCAQEwDAICBq4CAQEEAwIBADAMAgIGrwIBAQQDAgEAMAwCAgaxAgEBBAMCAQAwGwICBqcCAQEEEgwQMTAwMDAwMDc0NzE0MjA5MzAbAgIGqQIBAQQSDBAxMDAwMDAwNzQ3MTQyMDkzMB8CAgaoAgEBBBYWFDIwMjAtMTEtMjdUMDc6MDQ6MzFaMB8CAgaqAgEBBBYWFDIwMjAtMTEtMjdUMDc6MDQ6MzFaMCoCAgamAgEBBCEMH2NvbS5xaW1lbmcudGFucHV5dW5fdGFucHViZWkzODiggg5lMIIFfDCCBGSgAwIBAgIIDutXh%2BeeCY0wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNVBAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTUxMTEzMDIxNTA5WhcNMjMwMjA3MjE0ODQ3WjCBiTE3MDUGA1UEAwwuTWFjIEFwcCBTdG9yZSBhbmQgaVR1bmVzIFN0b3JlIFJlY2VpcHQgU2lnbmluZzEsMCoGA1UECwwjQXBwbGUgV29ybGR3aWRlIERldmVsb3BlciBSZWxhdGlvbnMxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApc%2BB%2FSWigVvWh%2B0j2jMcjuIjwKXEJss9xp%2FsSg1Vhv%2BkAteXyjlUbX1%2FslQYncQsUnGOZHuCzom6SdYI5bSIcc8%2FW0YuxsQduAOpWKIEPiF41du30I4SjYNMWypoN5PC8r0exNKhDEpYUqsS4%2B3dH5gVkDUtwswSyo1IgfdYeFRr6IwxNh9KBgxHVPM3kLiykol9X6SFSuHAnOC6pLuCl2P0K5PB%2FT5vysH1PKmPUhrAJQp2Dt7%2Bmf7%2Fwmv1W16sc1FJCFaJzEOQzI6BAtCgl7ZcsaFpaYeQEGgmJjm4HRBzsApdxXPQ33Y72C3ZiB7j7AfP4o7Q0%2FomVYHv4gNJIwIDAQABo4IB1zCCAdMwPwYIKwYBBQUHAQEEMzAxMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5hcHBsZS5jb20vb2NzcDAzLXd3ZHIwNDAdBgNVHQ4EFgQUkaSc%2FMR2t5%2BgivRN9Y82Xe0rBIUwDAYDVR0TAQH%2FBAIwADAfBgNVHSMEGDAWgBSIJxcJqbYYYIvs67r2R1nFUlSjtzCCAR4GA1UdIASCARUwggERMIIBDQYKKoZIhvdjZAUGATCB%2FjCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA2BggrBgEFBQcCARYqaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3JpdHkvMA4GA1UdDwEB%2FwQEAwIHgDAQBgoqhkiG92NkBgsBBAIFADANBgkqhkiG9w0BAQUFAAOCAQEADaYb0y4941srB25ClmzT6IxDMIJf4FzRjb69D70a%2FCWS24yFw4BZ3%2BPi1y4FFKwN27a4%2Fvw1LnzLrRdrjn8f5He5sWeVtBNephmGdvhaIJXnY4wPc%2Fzo7cYfrpn4ZUhcoOAoOsAQNy25oAQ5H3O5yAX98t5%2FGioqbisB%2FKAgXNnrfSemM%2Fj1mOC%2BRNuxTGf8bgpPyeIGqNKX86eOa1GiWoR1ZdEWBGLjwV%2F1CKnPaNmSAMnBjLP4jQBkulhgwHyvj3XKablbKtYdaG6YQvVMpzcZm8w7HHoZQ%2FOjbb9IYAYMNpIr7N4YtRHaLSPQjvygaZwXG56AezlHRTBhL8cTqDCCBCIwggMKoAMCAQICCAHevMQ5baAQMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNVBAYTAlVTMRMwEQYDVQQKEwpBcHBsZSBJbmMuMSYwJAYDVQQLEx1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEWMBQGA1UEAxMNQXBwbGUgUm9vdCBDQTAeFw0xMzAyMDcyMTQ4NDdaFw0yMzAyMDcyMTQ4NDdaMIGWMQswCQYDVQQGEwJVUzETMBEGA1UECgwKQXBwbGUgSW5jLjEsMCoGA1UECwwjQXBwbGUgV29ybGR3aWRlIERldmVsb3BlciBSZWxhdGlvbnMxRDBCBgNVBAMMO0FwcGxlIFdvcmxkd2lkZSBEZXZlbG9wZXIgUmVsYXRpb25zIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyjhUpstWqsgkOUjpjO7sX7h%2FJpG8NFN6znxjgGF3ZF6lByO2Of5QLRVWWHAtfsRuwUqFPi%2Fw3oQaoVfJr3sY%2F2r6FRJJFQgZrKrbKjLtlmNoUhU9jIrsv2sYleADrAF9lwVnzg6FlTdq7Qm2rmfNUWSfxlzRvFduZzWAdjakh4FuOI%2FYKxVOeyXYWr9Og8GN0pPVGnG1YJydM05V%2BRJYDIa4Fg3B5XdFjVBIuist5JSF4ejEncZopbCj%2FGd%2BcLoCWUt3QpE5ufXN4UzvwDtIjKblIV39amq7pxY1YNLmrfNGKcnow4vpecBqYWcVsvD95Wi8Yl9uz5nd7xtj%2FpJlqwIDAQABo4GmMIGjMB0GA1UdDgQWBBSIJxcJqbYYYIvs67r2R1nFUlSjtzAPBgNVHRMBAf8EBTADAQH%2FMB8GA1UdIwQYMBaAFCvQaUeUdgn%2B9GuNLkCm90dNfwheMC4GA1UdHwQnMCUwI6AhoB%2BGHWh0dHA6Ly9jcmwuYXBwbGUuY29tL3Jvb3QuY3JsMA4GA1UdDwEB%2FwQEAwIBhjAQBgoqhkiG92NkBgIBBAIFADANBgkqhkiG9w0BAQUFAAOCAQEAT8%2FvWb4s9bJsL4%2FuE4cy6AU1qG6LfclpDLnZF7x3LNRn4v2abTpZXN%2BDAb2yriphcrGvzcNFMI%2Bjgw3OHUe08ZOKo3SbpMOYcoc7Pq9FC5JUuTK7kBhTawpOELbZHVBsIYAKiU5XjGtbPD2m%2Fd73DSMdC0omhz%2B6kZJMpBkSGW1X9XpYh3toiuSGjErr4kkUqqXdVQCprrtLMK7hoLG8KYDmCXflvjSiAcp%2F3OIK5ju4u%2By6YpXzBWNBgs0POx1MlaTbq%2FnJlelP5E3nJpmB6bz5tCnSAXpm4S6M9iGKxfh44YGuv9OQnamt86%2F9OBqWZzAcUaVc7HGKgrRsDwwVHzCCBLswggOjoAMCAQICAQIwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkFwcGxlIEluYy4xJjAkBgNVBAsTHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRYwFAYDVQQDEw1BcHBsZSBSb290IENBMB4XDTA2MDQyNTIxNDAzNloXDTM1MDIwOTIxNDAzNlowYjELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkFwcGxlIEluYy4xJjAkBgNVBAsTHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRYwFAYDVQQDEw1BcHBsZSBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5JGpCR%2BR2x5HUOsF7V55hC3rNqJXTFXsixmJ3vlLbPUHqyIwAugYPvhQCdN%2FQaiY%2BdHKZpwkaxHQo7vkGyrDH5WeegykR4tb1BY3M8vED03OFGnRyRly9V0O1X9fm%2FIlA7pVj01dDfFkNSMVSxVZHbOU9%2Facns9QusFYUGePCLQg98usLCBvcLY%2FATCMt0PPD5098ytJKBrI%2Fs61uQ7ZXhzWyz21Oq30Dw4AkguxIRYudNU8DdtiFqujcZJHU1XBry9Bs%2Fj743DN5qNMRX4fTGtQlkGJxHRiCxCDQYczioGxMFjsWgQyjGizjx3eZXP%2FZ15lvEnYdp8zFGWhd5TJLQIDAQABo4IBejCCAXYwDgYDVR0PAQH%2FBAQDAgEGMA8GA1UdEwEB%2FwQFMAMBAf8wHQYDVR0OBBYEFCvQaUeUdgn%2B9GuNLkCm90dNfwheMB8GA1UdIwQYMBaAFCvQaUeUdgn%2B9GuNLkCm90dNfwheMIIBEQYDVR0gBIIBCDCCAQQwggEABgkqhkiG92NkBQEwgfIwKgYIKwYBBQUHAgEWHmh0dHBzOi8vd3d3LmFwcGxlLmNvbS9hcHBsZWNhLzCBwwYIKwYBBQUHAgIwgbYagbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjANBgkqhkiG9w0BAQUFAAOCAQEAXDaZTC14t%2B2Mm9zzd5vydtJ3ME%2FBH4WDhRuZPUc38qmbQI4s1LGQEti%2B9HOb7tJkD8t5TzTYoj75eP9ryAfsfTmDi1Mg0zjEsb%2BaTwpr%2Fyv8WacFCXwXQFYRHnTTt4sjO0ej1W8k4uvRt3DfD0XhJ8rxbXjt57UXF6jcfiI1yiXV2Q%2FWa9SiJCMR96Gsj3OBYMYbWwkvkrL4REjwYDieFfU9JmcgijNq9w2Cz97roy%2F5U2pbZMBjM3f3OgcsVuvaDyEO2rpzGU%2B12TZ%2FwYdV2aeZuTJC%2B9jVcZ5%2BoVK3G72TQiQSKscPHbZNnF5jyEuAF1CqitXa5PzQCQc3sHV1ITGCAcswggHHAgEBMIGjMIGWMQswCQYDVQQGEwJVUzETMBEGA1UECgwKQXBwbGUgSW5jLjEsMCoGA1UECwwjQXBwbGUgV29ybGR3aWRlIERldmVsb3BlciBSZWxhdGlvbnMxRDBCBgNVBAMMO0FwcGxlIFdvcmxkd2lkZSBEZXZlbG9wZXIgUmVsYXRpb25zIENlcnRpZmljYXRpb24gQXV0aG9yaXR5AggO61eH554JjTAJBgUrDgMCGgUAMA0GCSqGSIb3DQEBAQUABIIBADTZOLZ%2BK7WCPIH05HL71QXr%2FxfArUIiDDW0F2r2yRaFUSU%2B%2FYVE2TAVdLM3w6rXKNZyB652rsEP4t%2BnrjAOiTlAgDY35ssBxQy3ds00DMAxC2afdNApiUJRAKIksXT%2BweNQSivN6RzqYOszB7dK1CKdpcfOgZ%2BVJQ3mYgeE00vsmRg%2BhNmdDui8EmkVtPq5uNDXc2WM%2FSIyBVtf2qOFtWX7kYgvEmfzXAxgrnKmBb6A0Ty4rKCrJ%2BANgOo%2B0jfK6AfgeR4hGl0IhqzRdiVuuKq6einG0YmcxV4X0GqxD75HBGZwjTEYw9ScAT6Au7m81dVeLR76o0XPFXUUNmjJ7LA%3D'
    product_id = 'com.qimeng.tanpuyun_tanpubei388'
    res = apple_pay(receipt_data, product_id)
    print(res)