公众号,支付宝关联账户在哪里二微码,在哪里找到

扫微信接口生成的2微码图片但是发现后台接收不到请求! - 微信公众平台开发者问答系统
扫微信接口生成的2微码图片但是发现后台接收不到请求!
2013年 12月 22日
(120 积分)
用 ticket 生成了一张永久带参数的2微码图片,根据接口里面说明如果已关注并且在扫这张2微码图片的话会发送相应请求到开发者配置的后台,但是怎么尝试都接收不到请求,各位大神有遇到此类问题吗。
根据API上说 只要跟微信产生会话就可以立马获取此人的物理地址这个接口,貌似也获取不到请求。
我拥有高级权限!求解。
不能回答已答过的问题、已关闭的问题和你自己的提问1个回答
没有。。用的很正常。是不是回调的问题?
2013年 12月 23日
(160 积分)微信扫码支付,模式二方式开发
&此文仅仅针对微信扫码支付方式;
方法一assembleOrder 用来拼装相关参数 &其中ScanPayReqData& 参见先关微信扫码支付demo &或者参见后面有该类
public ThirdOrderRequest assembleOrder(Order order) {
WXMerchant merchant = new WXMerchant();
ScanPayReqData reqData = new ScanPayReqData();
reqData.setAppid(merchant.appid);
//公众账号ID wx***********ae33e (位数相同已*代替)
reqData.setMch_id(merchant.mchid);
1*******02
reqData.setNonce_str(RandomStringGenerator.getRandomStringByLength(32));
reqData.setBody( order.productName);
reqData.setOut_trade_no(order.orderId); //订单
reqData.setTotal_fee(order.total_fee);
reqData.setFee_type(&CNY&);
reqData.setSpbill_create_ip(order.ip);
reqData.setNotify_url(merchant.payNotifyUrl);
//回调地址
SimpleDateFormat sdf = new SimpleDateFormat(&yyyyMMddHHmmss&);
String time_start= sdf.format(System.currentTimeMillis()+24*60*60*1000);
// reqData.setTime_start(time_start);
reqData.setTrade_type(merchant.tradeType); //交易类型
reqData.setProduct_id(order.productId);//产品ID
String sign = WXPayHelper.getSign(reqData.toMap(),merchant.appSecret); //见方法二
reqData.setSign(sign);//把签名数据设置到Sign这个属性中
return new ThirdOrderRequest(reqData);
方法二&&WXPayHelper.getSign sign签名生成方法。其中key 为应用秘钥 如jia************************tvgd(获取于微信平台)
public static String getSign(Map map,String key){
ArrayList list = new ArrayList();
for(Map.Entry entry:map.entrySet()){
if(entry.getValue()!=&& && !entry.getKey().equals(&sign&)){
list.add(entry.getKey() + &=& + entry.getValue() + &&&);
int size = list.size();
String [] arrayToSort = list.toArray(new String[size]);
Arrays.sort(arrayToSort, String.CASE_INSENSITIVE_ORDER);
StringBuilder sb = new StringBuilder();
for(int i = 0; i & i ++) {
sb.append(arrayToSort[i]);
String result = sb.toString();
result += &key=& +
//Util.log(&Sign Before :& + result);
result = MD5.MD5Encode(result).toUpperCase();
//Util.log(&Sign Result:& + result);
方法三 获取支付所需扫码二维码方法
public String submitOrder(ThirdOrderRequest order) {
WXMerchant merchant = new WXMerchant();
String url = &https://api.mch./pay/unifiedorder&;//微信下单获取二维码接口url
//得到数据
ScanPayReqData scanPayReqData = (ScanPayReqData) order.getData();//获取到接口一的ScanPayReqData
自行修改。
WXPAYClient wxpayClient = new WXPAYClient();//微信扫码client
String respXML =wxpayClient.sendPost(url, scanPayReqData);//返回xml类型
System.out.println(&respXML====&+respXML);
ScanPayResData scanPayResData = (ScanPayResData) WXPayHelper.getObjectFromXML(respXML, ScanPayResData.class);//xml转对象
//防止数据被恶意篡改
String return_code = scanPayResData.getReturn_code();
String result_code =
scanPayResData.getResult_code();
String sign = WXPayHelper.getSign(WXPayHelper.toMap(scanPayResData),merchant.appSecret);
//通讯不成功直接返回
if(!TRADE_TRADE_STATUS.equals(return_code)) {
scanPayResData.getReturn_msg();
//业务不成功同样直接返回业务错误代码
if(!TRADE_TRADE_STATUS.equals(result_code)){
return scanPayResData.getErr_code();
if(sign.equals(scanPayResData.getSign())){//安全验证。
//返回code url
String picUrl = getQRImageUrl(scanPayResData.getCode_url());
return &sign验签不正确&;
} catch (Exception e) {
e.printStackTrace();
return &&;
(类ScanPayReqData&)
public class ScanPayReqData {
//每个字段具体的意思请查看API文档
private String appid = &&;
private String mch_id = &&;
private String device_info = &&;
private String nonce_str = &&;
private String sign = &&;
private String body = &&;
private String attach = &&;
private String out_trade_no = &&;
private int total_fee = 0;
private String spbill_create_ip = &&;
private String time_start = &&;
private String time_expire = &&;
private String goods_tag = &&;
public String getFee_type() {
return fee_
public void setFee_type(String fee_type) {
this.fee_type = fee_
private String fee_type =&&;
private String notify_url=&&;
private String trade_type=&&;
public void setProduct_id(String product_id) {
this.product_id = product_
public String getProduct_id() {
return product_
private String product_id=&& ; //商品ID
public String getTrade_type() {
return trade_
public String getNotify_url() {
return notify_
public void setTrade_type(String trade_type) {
this.trade_type = trade_
public void setNotify_url(String notify_url) {
this.notify_url = notify_
public String getAppid() {
public void setAppid(String appid) {
this.appid =
public String getMch_id() {
return mch_
public void setMch_id(String mch_id) {
this.mch_id = mch_
public String getDevice_info() {
return device_
public void setDevice_info(String device_info) {
this.device_info = device_
public String getNonce_str() {
return nonce_
public void setNonce_str(String nonce_str) {
this.nonce_str = nonce_
public String getSign() {
public void setSign(String sign) {
this.sign =
public String getBody() {
public void setBody(String body) {
this.body =
public String getAttach() {
public void setAttach(String attach) {
this.attach =
public String getOut_trade_no() {
return out_trade_
public void setOut_trade_no(String out_trade_no) {
this.out_trade_no = out_trade_
public int getTotal_fee() {
return total_
public void setTotal_fee(int total_fee) {
this.total_fee = total_
public String getSpbill_create_ip() {
return spbill_create_
public void setSpbill_create_ip(String spbill_create_ip) {
this.spbill_create_ip = spbill_create_
public String getTime_start() {
return time_
public void setTime_start(String time_start) {
this.time_start = time_
public String getTime_expire() {
return time_
public void setTime_expire(String time_expire) {
this.time_expire = time_
public String getGoods_tag() {
return goods_
public void setGoods_tag(String goods_tag) {
this.goods_tag = goods_
public Map toMap(){
Map map = new HashMap();
Field[] fields = this.getClass().getDeclaredFields();
for (Field field : fields) {
obj = field.get(this);
if(obj!=null){
map.put(field.getName(), obj);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
(类WXPAYClient)
package com.hiveview.pay.
import com.thoughtworks.xstream.XS
import com.thoughtworks.xstream.io.xml.DomD
import com.thoughtworks.xstream.io.xml.XmlFriendlyNameC
import org.apache.http.HttpE
import org.apache.http.HttpR
import org.apache.http.HttpV
import org.apache.http.client.HttpC
import org.apache.http.client.methods.HttpP
import org.apache.http.conn.ClientConnectionM
import org.apache.http.conn.ConnectTimeoutE
import org.apache.http.conn.ConnectionPoolTimeoutE
import org.apache.http.conn.scheme.PlainSocketF
import org.apache.http.conn.scheme.S
import org.apache.http.conn.scheme.SchemeR
import org.apache.http.conn.ssl.SSLSocketF
import org.apache.http.entity.StringE
import org.apache.http.impl.client.DefaultHttpC
import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnM
import org.apache.http.params.BasicHttpP
import org.apache.http.params.CoreConnectionPN
import org.apache.http.params.HttpP
import org.apache.http.params.HttpProtocolP
import org.apache.http.util.EntityU
import org.slf4j.L
import org.slf4j.LoggerF
import javax.net.ssl.SSLC
import javax.net.ssl.TrustM
import javax.net.ssl.X509TrustM
import java.io.IOE
import java.net.S
import java.net.SocketTimeoutE
import java.net.UnknownHostE
import java.security.*;
import java.security.cert.X509C
* Created with IntelliJ IDEA.
* User: lv
* Date: 15-7-23
* Time: 下午3:57
* To change this template use File | Settings | File Templates.
public class WXPAYClient {
private Logger LOG = LoggerFactory.getLogger(WXPAYClient.class);
* 微信post请求
* @param url
* @param xmlObj
* @throws IOException
* @throws KeyStoreException
* @throws UnrecoverableKeyException
* @throws NoSuchAlgorithmException
* @throws KeyManagementException
public String sendPost(String url, Object xmlObj) throws IOException, KeyStoreException, UnrecoverableKeyException, NoSuchAlgorithmException, KeyManagementException {
String result =
HttpPost httpPost = new HttpPost(url);
//解决XStream对出现双下划线的bug
XStream xStreamForRequestPostData = new XStream(new DomDriver(&UTF-8&, new XmlFriendlyNameCoder(&-_&, &_&)));
//将要提交给API的数据对象转换成XML格式数据Post给API
String postDataXML = xStreamForRequestPostData.toXML(xmlObj);
LOG.debug(&API,POST过去的数据是:&);
LOG.debug(postDataXML);
//得指明使用UTF-8编码,否则到API服务器XML的中文不能被成功识别
StringEntity postEntity = new StringEntity(postDataXML, &UTF-8&);
httpPost.addHeader(&Content-Type&, &text/xml&);
httpPost.setEntity(postEntity);
//设置请求器的配置
//httpPost.setConfig(requestConfig);
LOG.debug(&executing request& + httpPost.getRequestLine());
HttpResponse response = this.getNewHttpClient(&UTF-8&,6000).execute(httpPost);
HttpEntity entity = response.getEntity();
result = EntityUtils.toString(entity, &UTF-8&);
} catch (ConnectionPoolTimeoutException e) {
LOG.debug(&http get throw ConnectionPoolTimeoutException(wait time out)&);
} catch (ConnectTimeoutException e) {
LOG.debug(&http get throw ConnectTimeoutException&);
} catch (SocketTimeoutException e) {
LOG.debug(&http get throw SocketTimeoutException&);
} catch (Exception e) {
e.printStackTrace();
LOG.debug(&http get throw Exception& );
} finally {
httpPost.abort();
private static HttpClient getNewHttpClient(String charset ,int timeout) {
DefaultHttpClient defaultHttpClient =
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
trustStore.load(null, null);
SSLSocketFactory sf = new SSLSocketFactoryEx(trustStore);
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
HttpParams params = new BasicHttpParams();
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, charset);
SchemeRegistry registry = new SchemeRegistry();
registry.register(new Scheme(&http&, PlainSocketFactory.getSocketFactory(), 80));
registry.register(new Scheme(&https&, sf, 443));
ClientConnectionManager ccm = new ThreadSafeClientConnManager(params, registry);
defaultHttpClient = new DefaultHttpClient(ccm, params);
} catch (Exception e) {
defaultHttpClient = new DefaultHttpClient();
defaultHttpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, timeout);
defaultHttpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, timeout);
return defaultHttpC
private static class SSLSocketFactoryEx extends SSLSocketFactory {
SSLContext sslContext = SSLContext.getInstance(&TLS&);
public SSLSocketFactoryEx(KeyStore truststore) throws NoSuchAlgorithmException, KeyManagementException,
KeyStoreException, UnrecoverableKeyException {
super(truststore);
TrustManager tm = new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
public void checkClientTrusted(X509Certificate[] chain, String authType)
throws java.security.cert.CertificateException {
public void checkServerTrusted(X509Certificate[] chain, String authType)
throws java.security.cert.CertificateException {
sslContext.init(null, new TrustManager[] { tm }, null);
public Socket createSocket(Socket socket, String host, int port, boolean autoClose) throws IOException,
UnknownHostException {
return sslContext.getSocketFactory().createSocket(socket, host, port, autoClose);
public Socket createSocket() throws IOException {
return sslContext.getSocketFactory().createSocket();
(类WXPayHelper中可用方法)
* 对象转map
public static Map toMap(Object o){
Map map = new HashMap();
Field[] fields = o.getClass().getDeclaredFields();
for (Field field : fields) {
obj = field.get(o);
if(obj!=null){
map.put(field.getName(), obj);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
reqData.setProduct_id(order.productId);//产品ID二微码在线使用_列表网问答
二微码在线使用
二微码在线使用
『二微码在线使用』相关搜索
(C) 列表网&京ICP证100421号&京ICP备号-1&琼公网安备08播放列表加载中...
正在载入...
分享视频:
嵌入代码:
拍下二维码,随时随地看视频
第二讲:公众号和微信支付的绑定
上 传 者:
内容介绍:
第二讲:公众号和微信支付的绑定
Channel Me 精选
我来说点啥
版权所有 CopyRight
| 京网文[0号 |
| 京公网安备:
互联网药品信息服务资格证:(京)-非经营性- | 广播电视节目制作经营许可证:(京)字第403号
<img src="" width="34" height="34"/>
<img src=""/>
<li data-vid="">
<img src=""/><i data-vid="" class="ckl_plays">
<img width="132" height="99" src=""/>
在线人数:
<li data-vid="">
<img src=""/><i data-vid="" class="ckl_plays">
<img src="///img/blank.png" data-src=""/>
<img src="///img/blank.png" data-src="http://"/>
<li data-vid="" class="cfix">
src="///img/blank.png" data-src=""/>
<i data-vid="" class="ckl_plays">
<li data-vid="" class="cfix">
src="///img/blank.png" data-src=""/><i data-vid="" class="ckl_plays">
没有数据!
{upload_level_name}
粉丝 {fans_count}
{video_count}
{description}

我要回帖

更多关于 支付宝在哪里找到 的文章

 

随机推荐