微信支付(https://pay.weixin.qq.com)是腾讯集团旗下中国领先的第三方支付平台,一直致力于为用户和企业提供安全、便捷、专业的在线支付服务。https://pay.weixin.qq.com/static/product/product_index.shtml 支付产品列表
Native支付是指商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。该模式适用于PC网站、实体店单品或订单、媒体广告支付等场景。 https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_7_0.shtml apiv3开发文档
'扫码支付'
Function NATIVE_Pay()
dim postData,signValue,post_url,sign,returnXml,xml_dom,return_code,result_code,get_prepay_id,attach
post_url= "https://api.mch.weixin.qq.com/pay/unifiedorder"
sign="appid="&getAppId&"&attach="&attach_my&"&body="&body&"&mch_id="&getMCHID&"&nonce_str="&nonce_str&"¬ify_url="¬ify_url&"&out_trade_no="&out_trade_no&"&spbill_create_ip="&create_ip&"&total_fee="&total_fee&"&trade_type=NATIVE&key="&getPartnerKey
signValue=UCase(MD5(sign,"UTF-8"))
postData="<xml>"&_
"<appid><![CDATA["&getAppId&"]]></appid>"&_
"<attach><![CDATA["&attach_my&"]]></attach>"&_
"<body><![CDATA["&body&"]]></body>"&_
"<mch_id><![CDATA["&getMCHID&"]]></mch_id>"&_
"<nonce_str><![CDATA["&nonce_str&"]]></nonce_str>"&_
"<notify_url><![CDATA["¬ify_url&"]]></notify_url>"&_
"<out_trade_no><![CDATA["&out_trade_no&"]]></out_trade_no>"&_
"<spbill_create_ip><![CDATA["&create_ip&"]]></spbill_create_ip>"&_
"<total_fee><![CDATA["&total_fee&"]]></total_fee>"&_
"<trade_type><![CDATA[NATIVE]]></trade_type>"&_
"<sign><![CDATA["&signValue&"]]></sign>"&_
"</xml>"
' response.Write("show=" & post_url & "<hr>")
returnXml=Get_code_url(apiurl,post_url,postData)
' response.Write("returnXml=" & returnXml & "<hr>")
set xml_dom=Server.CreateObject("MSXML2.DOMDocument")
xml_dom.loadXml(returnXml)
return_code=xml_dom.getelementsbytagname("return_code").item(0).text
if return_code="FAIL" then
'协议级错误
get_prepay_id=xml_dom.getelementsbytagname("return_msg").item(0).text
response.Write("协议级接口调用错误:"&get_prepay_id)
response.End()
else
result_code=xml_dom.getelementsbytagname("result_code").item(0).text
if result_code="FAIL" then
'业务级错误
get_prepay_id=xml_dom.getelementsbytagname("err_code_des").item(0).text
response.Write("业务级支付错误:"&get_prepay_id)
response.End()
else
if return_code="SUCCESS" and result_code="SUCCESS" then
'数据正常
NATIVE_Pay=xml_dom.getelementsbytagname("code_url").item(0).text
end if
end if
end if
End Function
JSAPI支付是指商户通过调用微信支付提供的JSAPI接口,在支付场景中调起微信支付模块完成收款。 https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter1_1_1.shtml apiv3开发文档
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1 apiv2开发文档
'JSAPI支付'
Function JSAPI_Pay()
' response.write("getAppId="& getAppId)
dim postData,signValue,post_url,sign,returnXml,xml_dom,return_code,result_code,get_prepay_id,attach
post_url= "https://api.mch.weixin.qq.com/pay/unifiedorder"
sign="appid="&getAppId&"&attach="&attach_my&"&body="&body&"&mch_id="&getMCHID&"&nonce_str="&nonce_str&"¬ify_url="¬ify_url
sign=sign&"&openid="&wxopenid
sign=sign&"&out_trade_no="&out_trade_no&"&spbill_create_ip="&create_ip&"&total_fee="&total_fee&"&trade_type=JSAPI&key="&getPartnerKey
signValue=UCase(MD5(sign,"UTF-8"))
postData="<xml>"&_
"<appid><![CDATA["&getAppId&"]]></appid>"&_
"<attach><![CDATA["&attach_my&"]]></attach>"&_
"<body><![CDATA["&body&"]]></body>"&_
"<mch_id><![CDATA["&getMCHID&"]]></mch_id>"&_
"<nonce_str><![CDATA["&nonce_str&"]]></nonce_str>"&_
"<notify_url><![CDATA["¬ify_url&"]]></notify_url>"&_
"<openid><![CDATA["&wxopenid&"]]></openid>"&_
"<out_trade_no><![CDATA["&out_trade_no&"]]></out_trade_no>"&_
"<spbill_create_ip><![CDATA["&create_ip&"]]></spbill_create_ip>"&_
"<total_fee><![CDATA["&total_fee&"]]></total_fee>"&_
"<trade_type><![CDATA[JSAPI]]></trade_type>"&_
"<sign><![CDATA["&signValue&"]]></sign>"&_
"</xml>"
' response.Write("show=" & post_url & "<hr>")
returnXml=Get_code_url(apiurl,post_url,postData)
' response.Write("returnXml=" & returnXml & "<hr>")
set xml_dom=Server.CreateObject("MSXML2.DOMDocument")
xml_dom.loadXml(returnXml)
call xml_dom.Save(server.mappath("JSAPI_Pay.txt"))
return_code=xml_dom.getelementsbytagname("return_code").item(0).text
if return_code="FAIL" then
'协议级错误
get_prepay_id=xml_dom.getelementsbytagname("return_msg").item(0).text
response.Write("协议级接口调用错误:"&get_prepay_id)
response.End()
else
result_code=xml_dom.getelementsbytagname("result_code").item(0).text
if result_code="FAIL" then
'业务级错误
get_prepay_id=xml_dom.getelementsbytagname("err_code_des").item(0).text
response.Write("业务级支付错误:"&get_prepay_id)
response.End()
else
if return_code="SUCCESS" and result_code="SUCCESS" then
'数据正常
JSAPI_Pay=xml_dom.getelementsbytagname("prepay_id").item(0).text
end if
end if
end if
End Function
'微信支付V3,返回最后提交的paySign
Function get_paySign()
dim sign
sign="appId="&getAppId&"&nonceStr="&nonce_str&"&package=prepay_id="&prepay_id&"&signType=MD5&timeStamp="&timeStamp&"&key="&getPartnerKey
get_paySign=UCase(MD5(sign,"UTF-8"))
End Function
asp版微信支付源码(扫描和微信内支付)
下载案例源码>>