Class: ChinaPay::Alipay::Product::DirectPay
- Defined in:
- lib/china_pay/alipay.rb
Constant Summary collapse
- NAME =
'即时到账'- SERVICE_LABEL =
:create_direct_pay_by_user
Constants inherited from Base
Base::ATTR_REQUIRED, Base::DEFAULT_CHARSET, Base::SIGN_TYPE_MD5
Instance Method Summary collapse
- #after_payment_redirect_url(url) ⇒ Object
-
#error_callback_url(url) ⇒ Object
出错通知异步调用 URL.
-
#extended_params(params) ⇒ Object
公用业务扩展参数.
- #extra_params(params) ⇒ Object
- #gateway_api_url ⇒ Object
-
#initialize(order) ⇒ DirectPay
constructor
A new instance of DirectPay.
- #notification_callback_url(url) ⇒ Object
Constructor Details
#initialize(order) ⇒ DirectPay
Returns a new instance of DirectPay.
27 28 29 30 31 32 33 |
# File 'lib/china_pay/alipay.rb', line 27 def initialize(order) @order = order @params = {} @extra_params = {} @extended_params = {} end |
Instance Method Details
#after_payment_redirect_url(url) ⇒ Object
40 41 42 43 |
# File 'lib/china_pay/alipay.rb', line 40 def after_payment_redirect_url(url) @params[:return_url] = url self end |
#error_callback_url(url) ⇒ Object
出错通知异步调用 URL
NOTE: 需要联系技术支持才能开通
81 82 83 84 |
# File 'lib/china_pay/alipay.rb', line 81 def error_callback_url(url) @params[:error_notify_url] = url self end |
#extended_params(params) ⇒ Object
公用业务扩展参数
用于特定业务信息的传递
NOTE: 需要单独签约才能生效
73 74 75 76 |
# File 'lib/china_pay/alipay.rb', line 73 def extended_params(params) @extended_params = params self end |
#extra_params(params) ⇒ Object
45 46 47 48 |
# File 'lib/china_pay/alipay.rb', line 45 def extra_params(params) @extra_params = params self end |
#gateway_api_url ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/china_pay/alipay.rb', line 50 def gateway_api_url secure_signature = create_signature request_params = sign_params.merge( :sign_type => SIGN_TYPE_MD5, :sign => secure_signature ) lost_attributes = ATTR_REQUIRED - request_params.keys if lost_attributes.any? raise "the following keys are lost: #{lost_attributes.inspect}" end uri = URI(GATEWAY_URL) uri.query = URI.encode_www_form(request_params.sort) uri.to_s end |
#notification_callback_url(url) ⇒ Object
35 36 37 38 |
# File 'lib/china_pay/alipay.rb', line 35 def notification_callback_url(url) @params[:notify_url] = url self end |