wechat_payment 2.0.3 → 2.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 47ac17c0ea1a99ad55e63958da4dfbefc0282f9962ce038a738b4322d09a501c
|
4
|
+
data.tar.gz: e61cc08c219cb5c90cb74be1836ada62f120ccb64481e5d2e2be6aa7ed4f7fcb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6310f34d9941e697640cb0902415cc7dd9ecfdd743c2b02fa0b05d1202f57d81afd262a81d45999046f0b4f2e90dfc42f66c745ed1278339dc08207adb621297
|
7
|
+
data.tar.gz: dabde1251f1337d373be190c1dfd23b022d6b5e32ca4b50ceaa6b1a1aeccb54fd1c55cb354b47fdb43846948d3a6847b06f28dc4b926ca4be50b405d20bfc03e
|
@@ -14,10 +14,10 @@ module WechatPayment
|
|
14
14
|
|
15
15
|
enum state: {
|
16
16
|
paid: "paid",
|
17
|
-
|
17
|
+
pending_pay: "pending_pay",
|
18
18
|
refunded: "refunded",
|
19
19
|
failed: "failed"
|
20
|
-
}, _default: "
|
20
|
+
}, _default: "pending_pay"
|
21
21
|
|
22
22
|
# 将部分用户信息保存至订单
|
23
23
|
def set_customer_info
|
@@ -72,8 +72,8 @@ module WechatPayment
|
|
72
72
|
# "paySign": "1F5CBC345B86E5DD055F235A22961422",
|
73
73
|
# "orderId": 17
|
74
74
|
# }
|
75
|
-
def pay
|
76
|
-
if payment_params.present?
|
75
|
+
def pay(repay: false)
|
76
|
+
if payment_params.present? && !repay
|
77
77
|
return ServiceResult.new(success: true, data: payment_params, message: "获取支付参数成功")
|
78
78
|
end
|
79
79
|
|
@@ -93,7 +93,7 @@ module WechatPayment
|
|
93
93
|
def repay
|
94
94
|
gen_out_trade_no
|
95
95
|
save
|
96
|
-
pay
|
96
|
+
pay(repay: true)
|
97
97
|
end
|
98
98
|
|
99
99
|
# 发起退款
|
@@ -109,7 +109,7 @@ module WechatPayment
|
|
109
109
|
|
110
110
|
# 已退款的金额(包括正在退款的金额)
|
111
111
|
def refunded_fee
|
112
|
-
refund_orders.where(state: [:
|
112
|
+
refund_orders.where(state: [:pending_refund, :refunded]).sum(:refund_fee)
|
113
113
|
end
|
114
114
|
|
115
115
|
# 实际已退的金额
|
@@ -8,10 +8,10 @@ module WechatPayment
|
|
8
8
|
belongs_to :customer, polymorphic: true
|
9
9
|
|
10
10
|
enum state: {
|
11
|
-
|
11
|
+
pending_refund: "pending_refund",
|
12
12
|
refunded: "refunded",
|
13
13
|
failed: "failed"
|
14
|
-
}, _default:
|
14
|
+
}, _default: "pending_refund"
|
15
15
|
|
16
16
|
# 生成退款编号
|
17
17
|
def gen_out_refund_no
|
@@ -62,7 +62,7 @@ module WechatPayment
|
|
62
62
|
|
63
63
|
update(
|
64
64
|
refund_id: result["refund_id"],
|
65
|
-
state: :
|
65
|
+
state: :pending_refund
|
66
66
|
)
|
67
67
|
|
68
68
|
result
|
@@ -44,7 +44,7 @@ module WechatPayment
|
|
44
44
|
result = WechatPayment::Client.handle_payment_notify(notify_data)
|
45
45
|
payment_order = WechatPayment::PaymentOrder.find_by(out_trade_no: notify_data["out_trade_no"])
|
46
46
|
|
47
|
-
if result.success? && payment_order.
|
47
|
+
if result.success? && payment_order.pending_pay?
|
48
48
|
payment_order.with_lock do
|
49
49
|
payment_order.payment_exec_success(result.data)
|
50
50
|
end
|
@@ -60,7 +60,7 @@ module WechatPayment
|
|
60
60
|
result = WechatPayment::Client.handle_refund_notify(notify_data)
|
61
61
|
refund_order = WechatPayment::RefundOrder.find_by(out_refund_no: result.data["out_refund_no"])
|
62
62
|
|
63
|
-
if result.success? && refund_order.
|
63
|
+
if result.success? && refund_order.pending_pay?
|
64
64
|
refund_order.with_lock do
|
65
65
|
refund_order.refund_exec_success(result.data)
|
66
66
|
end
|
@@ -49,20 +49,20 @@ module WechatPayment
|
|
49
49
|
|
50
50
|
# 重新支付,应用场景是: 用户取消了支付后,使用最后一张订单进行支付
|
51
51
|
# @return [WechatPayment::ServiceResult]
|
52
|
-
def repay
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
result = payment_orders.last.repay
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
end
|
52
|
+
# def repay
|
53
|
+
# # 如果不是待支付状态
|
54
|
+
# unless pending?
|
55
|
+
# WechatPayment::ServiceResult.new(message: "当前状态不可支付")
|
56
|
+
# end
|
57
|
+
|
58
|
+
# result = payment_orders.last.repay
|
59
|
+
|
60
|
+
# if result.success?
|
61
|
+
# WechatPayment::ServiceResult.new(success: true, data: result.data[:js_payload])
|
62
|
+
# else
|
63
|
+
# WechatPayment::ServiceResult.new(message: result.errors.first[:err_code_des])
|
64
|
+
# end
|
65
|
+
# end
|
66
66
|
|
67
67
|
|
68
68
|
# 退款
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wechat_payment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ian
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-01-
|
11
|
+
date: 2022-01-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|