MCPcopy Create free account
hub / github.com/ImSingee/PayJS / parse_response

Method parse_response

payjs/base.py:71–102  ·  view source on GitHub ↗

处理请求,将 requests 的返回包装为 PayJSResult :param raw_response: requests 的返回值 :return: 一个 PayJSResult 元素(Success 或 Fail)

(self, raw_response: requests.Response)

Source from the content-addressed store, hash-verified

69 return self.parse_response(r)
70
71 def parse_response(self, raw_response: requests.Response):
72 """
73 处理请求,将 requests 的返回包装为 PayJSResult
74 :param raw_response: requests 的返回值
75 :return: 一个 PayJSResult 元素(Success 或 Fail)
76 """
77 if raw_response.status_code == 200:
78 # 扫码支付 与 订单查询;收银台支付失败
79 try:
80 j = json.loads(raw_response.content)
81 except json.JSONDecodeError:
82 return PayJSResultFail(raw_response=raw_response, r_json=False)
83 except UnicodeDecodeError:
84 return PayJSResultFail(raw_response=raw_response, r_json=False)
85
86 try:
87 check_signature(self.key, j)
88 except InvalidSignatureException:
89 response = PayJSResultFail(raw_response=raw_response, r_json=j)
90 response.error_msg = '返回的签名错误'
91
92 if str(j.get('return_code')) == '0': # 请求失败
93 response = PayJSResultFail(raw_response=raw_response, r_json=j)
94 else:
95 response = PayJSResultSuccess(raw_response=raw_response, r_json=j)
96
97 elif raw_response.status_code == 302:
98 # 收银台支付
99 return PayJSResultSuccess(raw_response=raw_response, r_json=None)
100 else:
101 response = PayJSResultFail(raw_response=raw_response, r_json=False)
102 return response
103
104 def check_status_by_payjs_order_id(self, payjs_order_id=None):
105 """

Callers 1

requestMethod · 0.95

Calls 3

PayJSResultFailClass · 0.90
check_signatureFunction · 0.90
PayJSResultSuccessClass · 0.90

Tested by

no test coverage detected