Module: RailsTrade::PaymentType::Alipay
- Defined in:
- app/models/rails_trade/payment_type/alipay.rb
Instance Method Summary collapse
Instance Method Details
#alipay_prepay ⇒ Object
3 4 5 6 |
# File 'app/models/rails_trade/payment_type/alipay.rb', line 3 def alipay_prepay self.update payment_type: 'alipay' Alipay2::Service.trade_app_pay_params(subject: self.subject, out_trade_no: self.uuid, total_amount: self.amount.to_s) end |
#alipay_prepay_url ⇒ Object
8 9 10 11 |
# File 'app/models/rails_trade/payment_type/alipay.rb', line 8 def alipay_prepay_url self.update payment_type: 'alipay' Alipay2::Service.trade_page_pay subject: self.subject, out_trade_no: self.uuid, total_amount: self.amount.to_s end |
#alipay_result ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'app/models/rails_trade/payment_type/alipay.rb', line 13 def alipay_result return self if self.payment_status == 'all_paid' result = Alipay2::Service.trade_query out_trade_no: self.uuid result = JSON.parse(result) result = result['alipay_trade_query_response'] if result['trade_status'] == 'TRADE_SUCCESS' self.change_to_paid! type: 'AlipayPayment', payment_uuid: result['trade_no'], params: result else errors.add :base, result['msg'] logger.error "Alipay: #{self.errors..join(', ')}" end end |