diff --git a/lib/wx_pay/service.rb b/lib/wx_pay/service.rb index 38e867e..beea9f8 100644 --- a/lib/wx_pay/service.rb +++ b/lib/wx_pay/service.rb @@ -159,6 +159,29 @@ module WxPay r end + GETTRANSFERINFO_FIELDS = [:partner_trade_no] + def self.gettransferinfo(params, options = {}) + params = { + mch_appid: options.delete(:appid) || WxPay.appid, + mchid: options.delete(:mch_id) || WxPay.mch_id, + nonce_str: SecureRandom.uuid.tr('-', '') + }.merge(params) + + check_required_options(params, GETTRANSFERINFO_FIELDS) + + options = { + ssl_client_cert: options.delete(:apiclient_cert) || WxPay.apiclient_cert, + ssl_client_key: options.delete(:apiclient_key) || WxPay.apiclient_key, + verify_ssl: OpenSSL::SSL::VERIFY_NONE + }.merge(options) + + r = WxPay::Result.new(Hash.from_xml(invoke_remote("#{GATEWAY_URL}/mmpaymkttransfers/gettransferinfo", make_payload(params), options))) + + yield r if block_given? + + r + end + INVOKE_REVERSE_REQUIRED_FIELDS = [:out_trade_no] def self.invoke_reverse(params, options = {}) params = { -- libgit2 0.21.0