📄 payonline.asp
字号:
Exit Sub
End If
Set obj = Nothing
strHiddenField = strHiddenField & "<input type='hidden' name='EncodeMsg' value='" & EncryptedMsg & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='SignMsg' value='" & SignedMsg & "'>" & vbCrLf
Case 5 '西部支付
PayGateUrl = "http://www.yeepay.com/Pay/WestPayReceiveOrderFromMerchant.asp"
strHiddenField = strHiddenField & "<input type='hidden' name='MerchantID' value='" & v_mid & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='OrderNumber' value='" & v_oid & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='OrderAmount' value='" & v_amount & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='PostBackURL' value='" & v_url & "'>" & vbCrLf
Case 6 '易付通
PayGateUrl = "http://pay.xpay.cn/Pay.aspx"
md5string = LCase(MD5(MD5Key & ":" & v_amount & "," & v_oid & "," & v_mid & ",bank,,sell,,2.0", 32))
strHiddenField = strHiddenField & "<input type='hidden' name='Tid' value='" & v_mid & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='Bid' value='" & v_oid & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='Prc' value='" & v_amount & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='url' value='" & v_url & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='Card' value='bank'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='Scard' value=''>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='ActionCode' value='sell'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='ActionParameter' value=''>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='Ver' value='2.0'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='Pdt' value='" & SiteName & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='type' value=''>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='lang' value='gb2312'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='md' value='" & md5string & "'>" & vbCrLf
Case 7 '云网支付
PayGateUrl = "https://www.cncard.net/purchase/getorder.asp"
md5string = LCase(MD5(v_mid & v_oid & v_amount & v_ymd & "01" & v_url & "00" & MD5Key, 32))
strHiddenField = strHiddenField & "<input type='hidden' name='c_mid' value='" & v_mid & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='c_order' value='" & v_oid & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='c_orderamount' value='" & v_amount & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='c_ymd' value='" & v_ymd & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='c_moneytype' value='0'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='c_retflag' value='1'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='c_paygate' value=''>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='c_returl' value='" & v_url & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='c_memo1' value=''>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='c_memo2' value=''>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='c_language' value='0'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='notifytype' value='0'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='c_signstr' value='" & md5string & "'>" & vbCrLf
Case 8, 12 '支付宝
v_oid = PaymentNum
Dim InstantPay
Dim Partner
Dim ArrMD5Key
If InStr(MD5Key, "|") > 0 Then
ArrMD5Key = Split(MD5Key, "|")
If UBound(ArrMD5Key) = 1 Then
Partner = ArrMD5Key(1)
MD5Key = ArrMD5Key(0)
End If
End If
v_ShowResultUrl = v_ShowResultUrl & "?PayMessage=ok"
If PlatformID = 12 Then '支付宝即时到帐
PayGateUrl = "https://www.alipay.com/cooperate/gateway.do"
Dim myString
myString = "discount=0" & "¬ify_url=" & v_url & "&out_trade_no=" & v_oid & "&partner=" & Partner & "&payment_type=1" & "&price=" & v_amount & "&quantity=1" & "&return_url=" & v_ShowResultUrl & "&seller_email=" & v_mid & "&service=create_direct_pay_by_user&subject=" & v_oid & MD5Key
md5string = LCase(MD5(myString, 32))
strHiddenField = strHiddenField & "<input type='hidden' name='discount' value='0'>" '商品折扣
strHiddenField = strHiddenField & "<input type='hidden' name='notify_url' value='" & v_url & "'>"
strHiddenField = strHiddenField & "<input type='hidden' name='out_trade_no' value='" & v_oid & "'>"
strHiddenField = strHiddenField & "<input type='hidden' name='payment_type' value='1'>"
strHiddenField = strHiddenField & "<input type='hidden' name='partner' value='" & Partner & "'>"
strHiddenField = strHiddenField & "<input type='hidden' name='price' value='" & v_amount & "'>"
strHiddenField = strHiddenField & "<input type='hidden' name='quantity' value='1'>"
strHiddenField = strHiddenField & "<input type='hidden' name='seller_email' value='" & v_mid & "'>"
strHiddenField = strHiddenField & "<input type='hidden' name='service' value='create_direct_pay_by_user'>"
strHiddenField = strHiddenField & "<input type='hidden' name='subject' value='" & v_oid & "'>"
strHiddenField = strHiddenField & "<input type='hidden' name='sign' value='" & md5string & "'>"
strHiddenField = strHiddenField & "<input type='hidden' name='sign_type' value='MD5'>"
strHiddenField = strHiddenField & "<input type='hidden' name='return_url' value='" & v_ShowResultUrl & "'>"
Else
'订单含有虚拟商品的情况
Dim rsOrderItem
Dim IsFabrication
Dim transport
IsFabrication = False
If OrderFormID = 0 Then
IsFabrication = True '会员充值,视为虚拟物品
Else
Set rsOrderItem = Conn.Execute("select I.ItemID,P.ProductID,P.ProductName,P.ProductKind,I.Amount from PE_OrderFormItem I inner join PE_Product P on I.ProductID=P.ProductID where I.OrderFormID=" & OrderFormID & " order by I.ItemID")
Do While Not rsOrderItem.EOF
If rsOrderItem("ProductKind") = 3 Then
IsFabrication = True
Else
IsFabrication = False
Exit Do
End If
rsOrderItem.MoveNext
Loop
End If
If Partner = "" Then '旧接口
PayGateUrl = "https://www.alipay.com/payto:" & v_mid
If IsFabrication Then
transport = 3
md5string = LCase((MD5("cmd" & "0001" & "subject" & v_oid & "order_no" & v_oid & "price" & v_amount & "transport" & transport & "seller" & v_mid & "partner" & "2088001048757497" & MD5Key, 32)))
Else
md5string = LCase((MD5("cmd" & "0001" & "subject" & v_oid & "order_no" & v_oid & "price" & v_amount & "seller" & v_mid & "partner" & "2088001048757497" & MD5Key, 32)))
End If
strHiddenField = strHiddenField & "<input type='hidden' name='cmd' value='0001'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='subject' value='" & v_oid & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='order_no' value='" & v_oid & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='price' value='" & v_amount & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='partner' value='2088001048757497'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='ac' value='" & md5string & "'>" & vbCrLf
If IsFabrication Then strHiddenField = strHiddenField & "<input type='hidden' name='transport' value='3'>" & vbCrLf
Else '新接口
PayGateUrl = "https://www.alipay.com/cooperate/gateway.do"
If IsFabrication Then
md5string = LCase(MD5("notify_url=" & v_url & "&out_trade_no=" & v_oid & "&partner=" & Partner & "&price=" & v_amount & "&quantity=1" & "&return_url=" & v_ShowResultUrl & "&seller_email=" & v_mid & "&service=create_digital_goods_trade_p&subject=" & v_oid & MD5Key, 32))
Else
md5string = LCase(MD5("logistics_fee=0&logistics_payment=SELLER_PAY&logistics_type=EXPRESS¬ify_url=" & v_url & "&out_trade_no=" & v_oid & "&partner=" & Partner & "&payment_type=1&price=" & v_amount & "&quantity=1" & "&return_url=" & v_ShowResultUrl & "&seller_email=" & v_mid & "&service=trade_create_by_buyer&subject=" & v_oid & MD5Key, 32))
End If
If IsFabrication Then
strHiddenField = strHiddenField & "<input type='hidden' name='service' value='create_digital_goods_trade_p'>" & vbCrLf
Else
strHiddenField = strHiddenField & "<input type='hidden' name='service' value='trade_create_by_buyer'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='logistics_type' value='EXPRESS'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='logistics_fee' value='0'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='logistics_payment' value='SELLER_PAY'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='payment_type' value='1'>" & vbCrLf
End If
strHiddenField = strHiddenField & "<input type='hidden' name='seller_email' value='" & v_mid & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='subject' value='" & v_oid & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='out_trade_no' value='" & v_oid & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='price' value='" & v_amount & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='partner' value='" & Partner & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='quantity' value='1'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='notify_url' value='" & v_url & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='return_url' value='" & v_ShowResultUrl & "'>"
strHiddenField = strHiddenField & "<input type='hidden' name='sign' value='" & md5string & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='sign_type' value='MD5'>" & vbCrLf
End If
End If
Case 9 '快钱支付2.0接口
PayGateUrl = "https://www.99bill.com/gateway/recvMerchantInfoAction.htm"
Dim merchantAcctId, key, inputCharset, pageUrl, bgUrl, version, language, signType, payerName, payerContactType, payerContact
Dim orderTime, productName, productNum, productId, productDesc, ext1, ext2, payType, bankId, redoFlag, pid, signMsgVal, orderId
merchantAcctId = v_mid '网关账户号
key = MD5Key '网关密钥
inputCharset = "3" '1代表UTF-8; 2代表GBK; 3代表gb2312
pageUrl = v_url '接受支付结果的页面地址
bgUrl = "" '服务器接受支付结果的后台地址
version = "v2.0" '网关版本.固定值
language = "1" '1代表中文;2代表英文
signType = "1" '1代表MD5签名
payerName = "" '支付人姓名
payerContactType = "" '支付人联系方式类型 1代表Email;2代表手机号
payerContact = "" '支付人联系方式,只能选择Email或手机号
orderId = v_oid '商户订单号
OrderAmount = v_amount * 100 '订单金额,以分为单位
orderTime = v_ymd & v_hms '订单提交时间,14位数字
productName = "" '商品名称
productNum = "" '商品数量
productId = "" '商品代码
productDesc = "" '商品描述
ext1 = "" '扩展字段1,在支付结束后原样返回给商户
ext2 = "" '扩展字段2
payType = "00" '支付方式,00:组合支付,显示快钱支持的各种支付方式,11:电话银行支付,12:快钱账户支付,13:线下支付,14:B2B支付
bankId = "" '银行代码,实现直接跳转到银行页面去支付,具体代码参见 接口文档银行代码列表,只在payType=10时才需设置参数
redoFlag = "1" '同一订单禁止重复提交标志:1代表同一订单号只允许提交1次,0表示同一订单号在没有支付成功的前提下可重复提交多次
pid = "" '快钱的合作伙伴的账户号
signMsgVal = appendParam(signMsgVal, "inputCharset", inputCharset)
signMsgVal = appendParam(signMsgVal, "pageUrl", pageUrl)
signMsgVal = appendParam(signMsgVal, "bgUrl", bgUrl)
signMsgVal = appendParam(signMsgVal, "version", version)
signMsgVal = appendParam(signMsgVal, "language", language)
signMsgVal = appendParam(signMsgVal, "signType", signType)
signMsgVal = appendParam(signMsgVal, "merchantAcctId", merchantAcctId)
signMsgVal = appendParam(signMsgVal, "payerName", payerName)
signMsgVal = appendParam(signMsgVal, "payerContactType", payerContactType)
signMsgVal = appendParam(signMsgVal, "payerContact", payerContact)
signMsgVal = appendParam(signMsgVal, "orderId", v_oid)
signMsgVal = appendParam(signMsgVal, "orderAmount", OrderAmount)
signMsgVal = appendParam(signMsgVal, "orderTime", orderTime)
signMsgVal = appendParam(signMsgVal, "productName", productName)
signMsgVal = appendParam(signMsgVal, "productNum", productNum)
signMsgVal = appendParam(signMsgVal, "productId", productId)
signMsgVal = appendParam(signMsgVal, "productDesc", productDesc)
signMsgVal = appendParam(signMsgVal, "ext1", ext1)
signMsgVal = appendParam(signMsgVal, "ext2", ext2)
signMsgVal = appendParam(signMsgVal, "payType", payType)
signMsgVal = appendParam(signMsgVal, "bankId", bankId)
signMsgVal = appendParam(signMsgVal, "redoFlag", redoFlag)
signMsgVal = appendParam(signMsgVal, "pid", pid)
signMsgVal = appendParam(signMsgVal, "key", key)
md5string = UCase(MD5(signMsgVal, 32))
strHiddenField = strHiddenField & "<input type='hidden' name='inputCharset' value='" & inputCharset & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='bgUrl' value='" & bgUrl & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='pageUrl' value='" & pageUrl & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='version' value='" & version & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='language' value='" & language & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='signType' value='" & signType & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='signMsg' value='" & md5string & "'>" & vbCrLf
strHiddenField = strHiddenField & "<input type='hidden' name='merchantAcctId' value='" & merchantAcctId & "'>" & vbCrLf
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -