kboss/kgadget/src/jd_affirm_cancel_pay.py
2025-07-16 14:27:17 +08:00

92 lines
3.5 KiB
Python

# -*- 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)
}