Module: Cmbpay::Service
- Defined in:
- lib/cmbpay/service.rb
Constant Summary collapse
- SANDBOX_MB_APPQRPAY_GATEWAY_URL =
'http://121.15.180.66:801/netpayment/BaseHttp.dll?MB_APPQRPay'- MB_APPQRPAY_GATEWAY_URL =
'https://netpay.cmbchina.com/netpayment/BaseHttp.dll?MB_APPQRPay'- SANDBOX_PUBLIC_URL =
公共apiurl(测试环境)
'http://121.15.180.66:801/NetPayment_dl/BaseHttp.dll'- SANDBOX_DO_BUSINESS_GATEWAY_URL =
'http://121.15.180.72/CmbBank_B2B/UI/NetPay/DoBusiness.ashx'- SANDBOX_QUERY_SETTLED_ORDER_BY_MERCHANT_DATE_GATEWAY_URL =
"#{SANDBOX_PUBLIC_URL}?QuerySettledOrderByMerchantDate"- SANDBOX_QUERY_ACCOUNTlIST_GATEWAY_URL =
"#{SANDBOX_PUBLIC_URL}?QueryAccountList"- SANDBOX_QUERY_SINGLE_ORDER_GATEWAY_URL =
"#{SANDBOX_PUBLIC_URL}?QuerySingleOrder"- SANDBOX_DO_REFUND_GATEWAY_URL =
"#{SANDBOX_PUBLIC_URL}?DoRefund"- SANDBOX_QUERY_REFUND_BY_DATE_GATEWAY_URL =
"#{SANDBOX_PUBLIC_URL}?QueryRefundByDate"- SANDBOX_QUERY_SETTLED_REFUND_GATEWAY_URL =
"#{SANDBOX_PUBLIC_URL}?QuerySettledRefund"- PUBLIC_URL =
公共apiurl(生产环境)
"https://payment.ebank.cmbchina.com/NetPayment/BaseHttp.dll"- DO_BUSINESS_GATEWAY_URL =
'https://b2b.cmbchina.com/CmbBank_B2B/UI/NetPay/DoBusiness.ashx'- QUERY_SETTLED_ORDER_BY_MERCHANT_DATE_GATEWAY_URL =
"#{PUBLIC_URL}?QuerySettledOrderByMerchantDate"- QUERY_ACCOUNTlIST_GATEWAY_URL =
"#{PUBLIC_URL}?QueryAccountList"- QUERY_SINGLE_ORDER_GATEWAY_URL =
"#{PUBLIC_URL}?QuerySingleOrder"- DO_REFUND_GATEWAY_URL =
"#{PUBLIC_URL}?DoRefund"- QUERY_REFUND_BY_DATE_GATEWAY_URL =
"#{PUBLIC_URL}?QueryRefundByDate"- QUERY_SETTLED_REFUND_GATEWAY_URL =
"#{PUBLIC_URL}?QuerySettledRefund"- MB_APPQRPAY_REQUIRED_REQ_DATA =
%w( orderNo amount payNoticeUrl clientIP )- QUERY_SETTLED_ORDER_BY_MERCHANT_DATE_REQUIRED_REQ_DATA =
%w( beginDate endDate operatorNo)- QUERY_ACCOUNTlIST_REQUIRED_REQ_DATA =
%w( date operatorNo )- QUERY_SINGLE_ORDER_REQUIRED_REQ_DATA =
%w( type date )- DO_REFUND_REQUIRED_REQ_DATA =
%w( date orderNo amount operatorNo pwd )- QUERY_REFUND_BY_DATE_REQUIRED_REQ_DATA =
%w( beginDate endDate )- QUERY_SETTLED_REFUND_REQUIRED_REQ_DATA =
%w( type date )
Class Method Summary collapse
-
.do_business(req_data = {}, options = {}) ⇒ Object
查询招行公钥API.
-
.mb_appqrpay(req_data, options = {}) ⇒ Object
二维码支付API.
-
.query_single_order(req_data, options = {}) ⇒ Object
查询单笔订单API.
Instance Method Summary collapse
-
#do_refund(req_data, options = {}) ⇒ Object
退款API.
-
#query_accountList(req_data, options = {}) ⇒ Object
查询入账明细API.
-
#query_refund_by_date(req_data, options = {}) ⇒ Object
按退款日期查询退款API.
-
#query_settled_order_by_merchant_date(req_data, options = {}) ⇒ Object
按商户日期查询已结账订单API.
-
#query_settled_refund(req_data, options = {}) ⇒ Object
已处理退款查询API.
Class Method Details
.do_business(req_data = {}, options = {}) ⇒ Object
查询招行公钥API
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/cmbpay/service.rb', line 48 def self.do_business(req_data={}, = {}) req_data = Utils.stringify_keys(req_data) params = { 'jsonRequestData' => { 'charset' => 'utf-8', 'reqData' => { 'merchantNo' => .delete(:merchantNo) || Cmbpay.merchant_no, 'branchNo' => .delete(:branchNo) || Cmbpay.branch_no, 'dateTime' => Time.now.strftime('%Y%m%d%H%M%S'), 'txCode' => 'FBPK' }.merge(req_data) } } request_remote(get_gateway_url(__method__), sign_params(params, )) end |
.mb_appqrpay(req_data, options = {}) ⇒ Object
二维码支付API
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/cmbpay/service.rb', line 28 def self.mb_appqrpay(req_data, = {}) req_data = Utils.stringify_keys(req_data) check_required_params(req_data, MB_APPQRPAY_REQUIRED_REQ_DATA) params = { 'charset' => 'utf-8', 'jsonRequestData' => { 'reqData' => { 'merchantNo' => .delete(:merchantNo) || Cmbpay.merchant_no, 'branchNo' => .delete(:branchNo) || Cmbpay.branch_no, 'dateTime' => Time.now.strftime('%Y%m%d%H%M%S'), 'date' => Time.now.strftime('%Y%m%d'), }.merge(req_data) } } request_args(get_gateway_url(__method__), sign_params(params, )) end |
.query_single_order(req_data, options = {}) ⇒ Object
查询单笔订单API
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/cmbpay/service.rb', line 104 def self.query_single_order(req_data, = {}) req_data = Utils.stringify_keys(req_data) check_required_params(req_data, QUERY_SINGLE_ORDER_REQUIRED_REQ_DATA) if req_data['type'] == 'A' warn("Cmbpay Warn: must have bankSerialNo if type is A") unless req_data.keys.include? 'bankSerialNo' else warn("Cmbpay Warn: must have orderNo if type is B") unless req_data.keys.include? 'orderNo' end params = { 'charset' => 'utf-8', 'jsonRequestData' => { 'charset' => 'utf-8', 'reqData' => { 'merchantNo' => .delete(:merchantNo) || Cmbpay.merchant_no, 'branchNo' => .delete(:branchNo) || Cmbpay.branch_no, 'dateTime' => Time.now.strftime('%Y%m%d%H%M%S'), }.merge(req_data) } } request_remote(get_gateway_url(__method__), sign_params(params, )) end |
Instance Method Details
#do_refund(req_data, options = {}) ⇒ Object
退款API
129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
# File 'lib/cmbpay/service.rb', line 129 def do_refund(req_data, = {}) req_data = Utils.stringify_keys(req_data) check_required_params(req_data, DO_REFUND_REQUIRED_REQ_DATA) params = { 'jsonRequestData' => { 'charset' => 'utf-8', 'reqData' => { 'merchantNo' => .delete(:merchantNo) || Cmbpay.merchant_no, 'branchNo' => .delete(:branchNo) || Cmbpay.branch_no, 'dateTime' => Time.now.strftime('%Y%m%d%H%M%S'), }.merge(req_data) } } request_remote(get_gateway_url(__method__), sign_params(params, )) end |
#query_accountList(req_data, options = {}) ⇒ Object
查询入账明细API
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/cmbpay/service.rb', line 86 def query_accountList(req_data, = {}) req_data = Utils.stringify_keys(req_data) check_required_params(req_data, QUERY_ACCOUNTlIST_REQUIRED_REQ_DATA) params = { 'jsonRequestData' => { 'charset' => 'utf-8', 'reqData' => { 'merchantNo' => .delete(:merchantNo) || Cmbpay.merchant_no, 'branchNo' => .delete(:branchNo) || Cmbpay.branch_no, 'dateTime' => Time.now.strftime('%Y%m%d%H%M%S'), }.merge(req_data) } } request_remote(get_gateway_url(__method__), sign_params(params, )) end |
#query_refund_by_date(req_data, options = {}) ⇒ Object
按退款日期查询退款API
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 |
# File 'lib/cmbpay/service.rb', line 147 def query_refund_by_date(req_data, = {}) req_data = Utils.stringify_keys(req_data) check_required_params(req_data, QUERY_REFUND_BY_DATE_REQUIRED_REQ_DATA) params = { 'jsonRequestData' => { 'charset' => 'utf-8', 'reqData' => { 'merchantNo' => .delete(:merchantNo) || Cmbpay.merchant_no, 'branchNo' => .delete(:branchNo) || Cmbpay.branch_no, 'dateTime' => Time.now.strftime('%Y%m%d%H%M%S'), }.merge(req_data) } } request_remote(get_gateway_url(__method__), sign_params(params, )) end |
#query_settled_order_by_merchant_date(req_data, options = {}) ⇒ Object
按商户日期查询已结账订单API
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/cmbpay/service.rb', line 67 def query_settled_order_by_merchant_date(req_data, = {}) req_data = Utils.stringify_keys(req_data) check_required_params(req_data, QUERY_SETTLED_ORDER_BY_MERCHANT_DATE_REQUIRED_REQ_DATA) params = { 'jsonRequestData' => { 'charset' => 'utf-8', 'reqData' => { 'merchantNo' => .delete(:merchantNo) || Cmbpay.merchant_no, 'branchNo' => .delete(:branchNo) || Cmbpay.branch_no, 'dateTime' => Time.now.strftime('%Y%m%d%H%M%S'), }.merge(req_data) } } request_remote(get_gateway_url(__method__), sign_params(params, )) end |
#query_settled_refund(req_data, options = {}) ⇒ Object
已处理退款查询API
165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
# File 'lib/cmbpay/service.rb', line 165 def query_settled_refund(req_data, = {}) req_data = Utils.stringify_keys(req_data) check_required_params(req_data, QUERY_SETTLED_REFUND_REQUIRED_REQ_DATA) params = { 'jsonRequestData' => { 'charset' => 'utf-8', 'reqData' => { 'merchantNo' => .delete(:merchantNo) || Cmbpay.merchant_no, 'branchNo' => .delete(:branchNo) || Cmbpay.branch_no, 'dateTime' => Time.now.strftime('%Y%m%d%H%M%S'), }.merge(req_data) } } request_remote(get_gateway_url(__method__), sign_params(params, )) end |