Top Level Namespace

Defined Under Namespace

Classes: ReqData, UmfCheckReqDataAndEncrypt, UmfConfig, UmfHttp, UmfLogger, UmfMerToPlat, UmfRSACryptUtil, UmfReqDataUtil, UmfService, UmfStringUtil

Constant Summary collapse

UMF_PAY_REQ_URL =
"https://pay.soopay.net/spay/pay/payservice.do"
UMF_METHOD_GET =
"get"
UMF_METHOD_POST =
"post"
UMF_PUBLIC_KEY =

联动优势RSA公钥

"-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDGWAu4p6aK1SiQqNKT1nTgYwA8
cz0Rde9fRtmLJAx1QxLqrerAUVl/uuXV7NQFSkTipouo3cwEEpae89267AeLJBzK
PbKnUID6JYGbwnq7CiRR4E244zcgqE8jo8DnkbH3KkiWonoUMD1uHy6TUFv5W7zr
haz/E59MVmbzrp1TwwIDAQAB
-----END PUBLIC KEY-----"
UMF_RESTPAY_AUTHORIZE =

子商户入网

"https://pay.soopay.net/spay_restPay/oauth/authorize"
UMF_RESTPAY_ADDCHILDMERINFO =
"https://pay.soopay.net/spay_restPay/addChildMerInfo"
UMF_RESTPAY_UPLOADCHILDFILE =
"https://pay.soopay.net/spay_restPay/uploadChildFile"
UMF_RESTPAY_CHANGECHILDREBUT =
"https://pay.soopay.net/spay_restPay/changeChildRebut"
UMF_RESTPAY_SELECTCHILDMERSTATE =
"https://pay.soopay.net/spay_restPay/selectChildMerState"
PLATTOMER_QUERYTRANS_FIELD =

订单查询数据字段

"merId,goodsId,orderId,merDate,payDate,amount,amtType,bankType,mobileId,gateId,transType,transState,settleDate,bankCheck,merPriv,retCode,version,sign"
PLATTOMER_REVOKE_FIELD =

商户撤销交易数据字段

"merId,amount,retCode,retMsg,version,sign"
PLATTOMER_REFUND_FIELD =

商户退费交易数据字段

"merId,refundNo,amount,retCode,retMsg,version,sign"
PLATTOMER_DIRECTREQPAY_FIELD =

后台直连数据字段

"merId,goodsId,orderId,merDate,retCode,retMsg,version,sign"
PAY_REQ_RULE =

一般支付请求

"service,charset,mer_id,sign_type,version,order_id,mer_date,amount,amt_type,notify_url,goods_inf"
PAY_REQ_IVR_CALL_RULE =

IVR支付方式下单

"service,charset,mer_id,sign_type,version,order_id,mer_date,amount,amt_type"
PAY_REQ_IVR_TCALL_RULE =

IVR转呼方式下单

"service,charset,mer_id,sign_type,version,order_id,mer_date,amount,amt_type"
QUERY_ORDER_RULE =

商户查询订单状态

"service,charset,sign_type,mer_id,version,mer_date"
MER_CANCEL_RULE =

商户撤销交易

"service,charset,sign_type,mer_id,version,order_id,mer_date,amount"
MER_REFUND_RULE =

商户退费

"service,charset,sign_type,mer_id,version,refund_no,order_id,mer_date,org_amount"
DOWNLOAD_SETTLE_FILE_RULE =

下载对账文件

"service,sign_type,mer_id,version,settle_date"
PAY_REQ_SPLIT_FRONT_RULE =

分账前端支付请求

"service,charset,mer_id,sign_type,version,order_id,mer_date,amount,amt_type"
PAY_REQ_SPLIT_BACK_RULE =

分账后端支付请求

"service,charset,mer_id,sign_type,version,order_id,mer_date,amount,amt_type"
SPLIT_REFUND_REQ_RULE =

分账退费

"service,charset,mer_id,sign_type,version,refund_no,order_id,mer_date,refund_amount,org_amount,sub_mer_id,sub_order_id"
PAY_REQ_SPLIT_DIRECT_RULE =

直连网银

"service,charset,mer_id,sign_type,version,order_id,mer_date,amount,amt_type"
PAY_RESULT_NOTIFY_RULE =

交易结果通知

"service,charset,mer_id,sign_type,version,trade_no,order_id,mer_date,pay_date,amount,amt_type,pay_type,settle_date,trade_state"
SPLIT_REQ_RESULT_RULE =

分账结果通知

"service,charset,mer_id,sign_type,version,order_id,mer_date,is_success"
SPLIT_REFUND_RESULT_RULE =

分账退费结果通知

"service,charset,sign_type,mer_id,version,refund_no,order_id,mer_date"
CREDIT_DIRECT_PAY_RULE =

信用卡直连

"service,charset,mer_id,sign_type,version,order_id,mer_date,amount,amt_type,pay_type,card_id,valid_date,cvv2"
DEBIT_DIRECT_PAY_RULE =

借记卡直连

"service,charset,mer_id,sign_type,version,order_id,mer_date,amount,amt_type,pay_type,card_id"
PRE_AUTH_DIRECT_REQ =

预授权直连申请

"service,charset,mer_id,sign_type,version,order_id,mer_date,media_id,media_type,amount,amt_type,pay_type,card_id,valid_date,cvv2"
PRE_AUTH_DIRECT_PAY =

预授权完成

"service,charset,mer_id,sign_type,version,order_id,trade_no,mer_date,amount,amt_type,pay_type"
PRE_AUTH_DIRECT_CANCEL =

预授权撤销

"service,charset,mer_id,sign_type,version,order_id,trade_no,mer_date"
PAY_TRANSFER_REGISTER =

银行卡转账注册

"service,charset,mer_id,res_format,version,sign_type,req_date,req_time,media_type,media_id,identity_type,identity_code,cust_name"
PAY_TRANSFER_REQ =

银行卡转账申请

"service,charset,mer_id,ret_url,notify_url,res_format,version,sign_type,order_id,mer_date,req_time,media_id,media_type,amount,fee_amount,recv_account_type,recv_bank_acc_pro,recv_account,recv_user_name,recv_gate_id,recv_type,purpose"
PAY_TRANSFER_ORDER_QUERY =

银行卡转账订单查询

"service,charset,mer_id,res_format,version,sign_type,order_id,mer_date"
PAY_TRANSFER_MER_REFUND =

银行卡转账退费

"service,charset,mer_id,res_format,version,sign_type,refund_no,order_id,mer_date"
PRE_AUTH_DIRECT_QUERY =

预授权查询

"service,charset,mer_id,sign_type,version,order_id,mer_date"
PRE_AUTH_DIRECT_REFUND =

预授权退费

"service,charset,sign_type,mer_id,version,order_id,mer_date,refund_no,refund_amount,org_amount"
PRE_AUTH_DIRECT_SETTLE =

预授权下载对账文件

"service,sign_type,mer_id,version,settle_date"
CARD_AUTH =

实名认证

"service,charset,mer_id,sign_type,version,mer_date,card_id"
REQ_SMS_VERIFYCODE =

信用卡API快捷—获取短信验证码

"service,mer_id,charset,sign_type,version,trade_no,media_id,media_type"
PAY_CONFIRM =

信用卡API快捷—确认支付

"service,mer_id,charset,sign_type,version,trade_no,pay_category,card_id"
PAY_REQ_SHORTCUT_FRONT =

一键快捷–前端请求

"service,charset,mer_id,sign_type,version,order_id,mer_date,amount,amt_type,pay_type,gate_id"
PAY_REQ_SHORTCUT =

一键快捷–API下单

"service,charset,mer_id,sign_type,version,order_id,mer_date,amount,amt_type"
FIRST_PAY_CONFIRM_SHORTCUT =

一键快捷–(首次支付)确认支付

"service,mer_id,charset,sign_type,version,trade_no,media_id,media_type,card_id"
AGREEMENT_PAY_CONFIRM_SHORTCUT =

一键快捷–(协议支付)确认支付

"service,mer_id,charset,sign_type,version,trade_no,usr_pay_agreement_id"
REQ_SMSVERIFY_SHORTCUT =

一键快捷–获取短信验证码

"service,mer_id,sign_type,version,trade_no"
QUERY_MER_BANK_SHORTCUT =

一键快捷–查询商户支持的银行列表

"service,sign_type,charset,mer_id,version,pay_type"
QUERY_MERCUST_BANK_SHORTCUT =

一键快捷–查询用户签约的银行列表

"service,sign_type,charset,mer_id,version,pay_type"
UNBIND_MERCUST_PROTOCOL_SHORTCUT =

一键快捷–商户解除用户关联

"service,sign_type,charset,mer_id,version"
SPLIT_REQ_RULE =

分账项目–分账指令

"service,charset,mer_id,sign_type,version,order_id,mer_date"
QUERY_SPLIT_ORDER_RULE =

分账项目–分账状态查询

"service,sign_type,charset,mer_id,version,order_id,mer_date"
TRANSFER_DIRECT_REQ_RULE =

付款API直连–付款请求

"service,charset,mer_id,version,sign_type,order_id,mer_date,amount,recv_account_type,recv_bank_acc_pro,recv_account,recv_user_name"
TRANSFER_QUERY_RULE =

付款API直连–付款查询

"service,charset,mer_id,version,sign_type,order_id,mer_date"
MER_ORDER_INFO_QUERY =

历史订单查询

"service,sign_type,charset,mer_id,version,mer_date"
MER_REFUND_QUERY =

退费订单状态查询

"service,sign_type,charset,mer_id,version,refund_no"
ACTIVE_SCANCODE_ORDER =

聚合支付–微信、支付宝扫码支付

"service,charset,mer_id,sign_type,notify_url,version,goods_inf,order_id,mer_date,amount,amt_type,scancode_type"
ACTIVE_SCANCODE_ORDER_NEW =
"service,charset,mer_id,sign_type,notify_url,version,goods_inf,order_id,mer_date,amount,amt_type,scancode_type"
PASSIVE_SCANCODE_PAY =

聚合支付–微信、支付宝被扫

"service,charset,mer_id,sign_type,notify_url,version,goods_inf,order_id,mer_date,amount,amt_type,auth_code,use_desc,scancode_type"
QUERY_ACCOUNT_BALANCE =

付款–查询结算账户余额

"service,charset,mer_id,version,sign_type"
COMM_AUTH =

公共验证产品

"service,charset,mer_id,sign_type,version,auth_type,order_id"
QUICK_PAY =

快捷支付2.2产品-下单

"service,charset,mer_id,sign_type,version,order_id,notify_url,order_id,mer_date,amount,amt_type,pay_type,gate_id"
GET_MESSAGE =

商户向平台请求获取短信验证码

"service,charset,mer_id,sign_type,version,trade_no,media_id,media_type"
QUICK_PAY_FIRST =

快捷支付中的确认支付

"service,charset,mer_id,sign_type,version,trade_no,trade_no,verify_code,media_type,media_id"
GET_BANK_MER =

获取商户支持的银行列表

"service,charset,mer_id,sign_type,version,pay_type"
CANCEL_SURRENDER =

快捷支付解约列表

"service,charset,mer_id,sign_type,version"
REFUND_INFO_REPLENISH =

退费消息补录

"service,charset,mer_id,sign_type,version,refund_no,card_holder,card_id"
REQ_BIND_VERIFY_SHORCUT =

一键快捷API绑定申请

"service,mer_id,sign_type,version,media_type,media_id,card_id"
REQ_BIND_CONFIRM_SHORCUT =

一键快捷API绑定确认

"service,mer_id,sign_type,charset,version,media_type,media_id,card_id"
BIND_AGREEMENT_NOTIFY_SHORCUT =

一键快捷绑定结果通知

"service,mer_id,sign_type,version,mer_cust_id,media_type,media_id,usr_busi_agreement_id,usr_pay_agreement_id,gate_id,last_four_cardid,bank_card_type"
BIND_REQ_SHORTCUT_FRONT =

一键快捷前台绑定请求

"service,mer_id,sign_type,charset,version,pay_type,gate_id,mer_cust_id"
ServiceRule =
{
    'pay_req'=>PAY_REQ_RULE,
    'query_order'=>QUERY_ORDER_RULE,
    'mer_cancel'=>MER_CANCEL_RULE,
    'mer_refund'=>MER_REFUND_RULE,
    'download_settle_file'=>DOWNLOAD_SETTLE_FILE_RULE,
    'split_refund_req'=>SPLIT_REFUND_REQ_RULE,
    'query_mer_bank_shortcut'=>QUERY_MER_BANK_SHORTCUT,
    'unbind_mercust_protocol_shortcut'=>UNBIND_MERCUST_PROTOCOL_SHORTCUT,
    'transfer_direct_req'=>TRANSFER_DIRECT_REQ_RULE,
    'transfer_query'=>TRANSFER_QUERY_RULE,
    'mer_order_info_query'=>MER_ORDER_INFO_QUERY,
    'mer_refund_query'=>MER_REFUND_QUERY,
    'active_scancode_order'=>ACTIVE_SCANCODE_ORDER,
    'active_scancode_order_new'=>ACTIVE_SCANCODE_ORDER_NEW,
    'passive_scancode_pay'=>PASSIVE_SCANCODE_PAY,
    'query_account_balance'=>,
    'comm_auth'=>COMM_AUTH,
    'apply_pay_shortcut'=>QUICK_PAY,
    'sms_req_shortcut'=>GET_MESSAGE,
    'confirm_pay_shortcut'=>QUICK_PAY_FIRST,
    'refund_info_replenish'=>REFUND_INFO_REPLENISH,
}
ReqRule =
{
    'service'=>"^[a-zA-Z0-9_]{1,32}$",
    'charset'=>"^(UTF-8|GBK|GB2312|GB18030)$",
    'mer_id'=>"^[0-9]{1,8}$",
    'sign_type'=>"^RSA$",
    'version'=>"^(4.0|1.0)$",
    'media_type'=>"^(MOBILE|EMAIL|MERUSERID)$",
    'order_id'=>"^\S{1,32}$",
    'mer_date'=>"^[1-2][0-9]{7}$",
    'amount'=>"^[1-9][0-9]*$",
    'amt_type'=>"^RMB$",
    'expire_time'=>"^[0-9]{1,32}$",
    'ret_code'=>"^[0-9]+$",
    'trade_no'=>"^[0-9]{1,16}$",
    'pay_date'=>"^[1-2][0-9]{7}$",
    'settle_date'=>"^[1-2][0-9]{7}$",
    'error_code'=>"^[0-9]*$",
    'mer_check_date'=>"^[1-2][0-9]{7}$",
    'refund_amt'=>"^[1-9][0-9]*$",
    'refund_amount'=>"^[1-9][0-9]*$",
    'org_amount'=>"^[1-9][0-9]*$",
    'split_type'=>"^[1-2]{0,2}$",
    'is_success'=>"^(Y|N)$",
    'sub_mer_id'=>"^[0-9]*$",
    'req_date'=>"^[1-2][0-9]{7}$",
    'req_time'=>"^[0-9]{6}$",
    'birthday'=>"^[1-2][0-9]{7}$",
    'sex'=>"^(M|F)$",
    'contact_mobile'=>"^[0-9]{11}$",
    'fee_amount'=>"^(0|[1-9][0-9]*)$",
    'recv_account_type'=>"^[0-1]{2}$",
    'recv_bank_acc_pro'=>"^[0-1]{1}$",
    'recv_type'=>"^[0-1]$",
    'debit_pay_type'=>"^(1|2)$",
    'pay_category'=>"^01$",
    'split_category'=>"^(1|2|3)$",
    'push_type'=>"^(0|1|2|3)$",
    'order_type'=>"^(1|2)$",
    'sign'=>"^\S+$",
    'res_format'=>'^HTML$', # "^\S+$",

    'goods_inf'=>"^\S+$",
    'token'=>"^\S+$",
    'trade_state'=>"^\S{1,32}$",
    'refund_no'=>"^\S{1,16}$",
    'refund_state'=>"^\S+$",
    'sub_order_id'=>"^\S{1,32}$",
    'refund_desc'=>"^\S{1,128}$",
    'valid_date'=>"^\S{1,256}$",
    'cvv2'=>"^\S{1,256}$",
    'mail_addr'=>"^\S{1,64}$",
    'contact_phone'=>"^\S+$",
    'finance_vou_no'=>"^\S{1,32}$",
    'purpose'=>"^\S+$",
    'prov_name'=>"^\S+$",
    'city_name'=>"^\S+$",
    'bank_brhname'=>"^\S+$",
    'ret_url'=>"^\S*$",
    'notify_url'=>"^\S*$",
    'goods_id'=>"^\S*$",
    'media_id'=>"^\S+$",
    'mobile_id'=>"^\S{0,11}$",
    'pay_type'=>"^\S*$",
    'gate_id'=>"^\S*$",
    'mer_priv'=>"^\S*$",
    'user_ip'=>"^\S*$",
    'expand'=>"^\S*$",
    'ret_msg'=>"^\S*$",
    'pay_seq'=>"^\S*$",
    'bank_check_state'=>"^\S*$",
    'product_id'=>"^\S*$",
    'mer_trace'=>"^\S*$",
    'split_data'=>"^\S*$",
    'card_id'=>"^\S{0,256}$",
    'pass_wd'=>"^\S{0,256}$",
    'identity_type'=>"^\S{0,256}$",
    'identity_code'=>"^\S{0,256}$",
    'card_holder'=>"^\S{0,256}$",
    'cust_name'=>"^\S{0,32}$",
    'recv_account'=>"^\S*$",
    'recv_user_name'=>"^\S*$",
    'recv_gate_id'=>"^\S*$",
    'verify_code'=>"^\S{0,8}$",
    'mer_cust_id'=>"^\S{0,32}$",
    'usr_busi_agreement_id'=>"^\S{0,64}$",
    'usr_pay_agreement_id'=>"^\S{0,64}$",
    'identity_holder'=>"^\S{0,256}$",
    'split_refund_list'=>"^\S*$",
    'split_cmd'=>"^\S*$",
    'settle_type'=>"^\S*$",
    #新增

    'scancode_type'=>"WECHAT|ALIPAY",
    'auth_code'=>"",
    'use_desc'=>"",
    # "last_four_cardid'=>"[0-9]{4}",4,false),

    'bank_account'=>"",
    'account_name'=>"",
    # "bank_card_type'=>"",16,false),

}