Sha256: 69b1bd9b4cd2081519f0994666e2b1a530f1e58dc54e6cd970c5a7f5034d9eac
Contents?: true
Size: 832 Bytes
Versions: 1
Compression:
Stored size: 832 Bytes
Contents
class AlipayRefund < Refund def do_refund(params = {}) return unless can_refund? refund_params = { out_trade_no: self.order.uuid, refund_amount: self.total_amount.to_s, out_request_no: self.refund_uuid } refund_res = Alipay::Service.trade_refund(refund_params) order.payment_status = 'refunded' self.operator_id = params[:operator_id] refund = JSON.parse(refund_res).fetch('alipay_trade_refund_response', {}) if refund['code'] == '10000' || refund['msg'] == 'Success' self.refund_uuid = refund['trade_no'] self.state = 'completed' self.refunded_at = Time.now self.class.transaction do order.save! self.save! end else self.update reason: "code: #{refund['code']}, msg: #{refund['msg']}" end refund end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rails_trade-0.0.1 | app/models/rails_trade/refunds/alipay_refund.rb |