# -*- coding: utf-8 -*- # @Time: 2024/3/7 14:16 from partnerall.order.client.OrderClient import OrderClient from jdcloud_sdk.core.credential import Credential from partnerall.order_lasted.apis import PayOrderRequest from partnerall.order_v2.apis import ModifyAgentPayRequest async def jd_confirm_pay_orders(ns={}): """ 1. 客户在京东云取消代付, 开元页面点击确认支付 执行确认支付 依然可以支付成功 2. 客户在京东云点击取消, 开元页面点击确认支付 执行确认支付 返回订单不需要支付 :param ns: :return: """ try: access_key = 'JDC_757C6EA190206D40E6B3E6A49EC1' secret_key = '4CCCFBB0872C7A30ADF1BCEA6BA64372' credential = Credential(access_key, secret_key) client = OrderClient(credential) # parameters = JDAPI.PayOrderRequest.PayOrderParameters(regionId='cn-north-1', orderNumber=ns.get('ordernumber')) parameters = PayOrderRequest.PayOrderParameters(regionId='cn-north-1', orderNumber=ns.get('ordernumber')) parameters.setPaymentChannel(9) parameters.setVoucherNumber(ns.get('vouchernumber')) parameters.setVoucherListJson([{"code":ns.get('vouchernumber'),"type":2,"value":ns.get('vouchervalue')}]) parameters.setVoucherPrice(ns['voucherprice']) # 是否代付 parameters.setUseAgentPay(True) request = PayOrderRequest.PayOrderRequest(parameters) resp = client.send(request) # request = JDAPI.PayOrderRequest.PayOrderRequest(parameters) # resp = JDAPI.OrderClient.send(request) if resp.error: return { 'status': False, 'msg': resp.error.message } else: return { 'status': True, 'msg': str(resp.result) } except Exception as e: return { 'status': False, 'err_msg': str(e) } async def jd_cancel_orders(ns={}): """ {"result":{"data":1},"requestId":null,"error":null} {"result":{"data":0},"requestId":null,"error":null} :param ns: :return: """ try: access_key = 'JDC_757C6EA190206D40E6B3E6A49EC1' secret_key = '4CCCFBB0872C7A30ADF1BCEA6BA64372' credential = Credential(access_key, secret_key) client = OrderClient(credential) parameters = ModifyAgentPayRequest.ModifyAgentPayParameters(regionId='cn-north-1', orderNumber=ns.get('ordernumber')) # parameters = JDAPI.ModifyAgentPayRequest.ModifyAgentPayParameters(regionId='cn-north-1', orderNumber=ns.get('ordernumber')) request = ModifyAgentPayRequest.ModifyAgentPayRequest(parameters) # request = JDAPI.ModifyAgentPayRequest.ModifyAgentPayRequest(parameters) # resp = JDAPI.OrderClient.send(request) resp = client.send(request) if resp.error: return { 'status': False, 'msg': resp.error.message } elif resp.result: if resp.result.data: return { 'status': True, 'msg': str(resp.result) } else: return { 'status': False, 'msg': str(resp.result) } else: return { 'status': False, 'msg': 'resp result is None' } except Exception as e: return { 'status': False, 'err_msg': str(e) }