def base(is_private,channel, needforward=True, **extra): if is_private == False: env_name, root_url, live_key, app_id = datagen.get_current_env() else: env_name, root_url, live_key, app_id = datagen.get_my_env() url = "{0}/v1/charges".format(root_url) # request body charge = Model.ChargeBase.ChargeDict() charge['order_no'] = random_str(10) charge['subject'] = "Autopay_TestOrder4{0}".format(channel) charge['body'] = "appletesting4Pay" charge['amount'] = 10 charge['channel'] = channel charge['currency'] = "cny" charge['client_ip'] = "127.0.0.1" id = [("id", app_id)] charge['app'] = dict(id) charge['extra'] = extra myCharge = APIClient._http_call(url, "POST", "json", "json", None, {"Authorization": "Bearer {0}".format(live_key)}, 30, **charge) print(myCharge) if (needforward): time.sleep(5) Forward.forward_json(myCharge) else: return myCharge
def GetChargeList100_Refund_ByChannel(channel, mode): if mode == 0: env_name, root_url, live_key, app_id = datagen.get_my_env() else: env_name, root_url, live_key, app_id = datagen.get_test_env() url = "{0}/v1/charges/".format(root_url) params = {} params["channel"] = channel params["limit"] = 100 params["paid"] = True if channel == "alipay": params["refunded"] = True else: params["refunded"] = False params["app[id]"] = app_id response = APIClient._http_call( url, 1, "json", None, {}, {"Authorization": "Bearer {0}".format(live_key)}, 30, **params ) if response["data"] is None or len(response["data"]) == 0: logging.info("GetCharge_NoRefund_ByChannel: " + channel + " No charge returned") print "GetCharge_NoRefund_ByChannel: " + channel + " No charge returned" return charge = response["data"] return charge
def GetCharge(is_private,chargeid): if is_private==False: env_name, root_url, live_key,app_id = datagen.get_current_env() else: env_name, root_url, live_key,app_id = datagen.get_my_env() url = "{0}/v1/charges/{1}".format(root_url,chargeid) params ={} response = APIClient._http_call(url, 1, 'json', None, {}, {"Authorization": "Bearer {0}".format(live_key)}, 30, **params) print response
def send(is_private,charge_id, content): if is_private==False: env_name, root_url, live_key, app_id = datagen.get_current_env() else: env_name, root_url, live_key, app_id = datagen.get_my_env() url = "{0}/notify/charges/{1}".format(root_url, charge_id) if isinstance(content, basestring): data = {} data['value'] = content response = APIClient._http_call(url, 'POST', 'text', 'form-urlencoded', None, {}, 30, **data) else: response = APIClient._http_call(url, 'POST', 'text', 'json', None, {}, 30, **content) return response
def GetOrderList_NotRefund(mode): if mode == 0: env_name, root_url, live_key, app_id = datagen.get_my_env() else: env_name, root_url, live_key, app_id = datagen.get_test_env() url = "{0}/v1/charges/".format(root_url) params = {} params["limit"] = 2 params["paid"] = True params["refunded"] = False params["app[id]"] = app_id response = APIClient._http_call( url, 1, "json", None, {}, {"Authorization": "Bearer {0}".format(live_key)}, 30, **params ) if response["data"] == None or len(response["data"]) == 0: logging.info("GetOrder_NoRefund_ByChannel: " + " No charge returned") print "GetCharge_NoRefund_ByChannel: " + " No charge returned" return charge = response["data"] return charge[0]["order_no"], charge[1]["order_no"]