关于今日头条小程序(字节跳动小程序)相关问题

上周突然遇到让开发今日头条小程序(字节跳动小程序)的需求,然后看了下文档发现真的简陋。而且文档有错别字。槽点有点多。但是和老版本的小程序相差不多,然后我就抱着试一试的心态,真的是试一试把微信小程序换了个id,然后打包上传,发现竟然跑的通!跑的通!跑的通!再说一次跑的通。当时我的内心是崩溃的,说好的tt.标签那,这样照搬真的好吗,好歹稍微改下啊。

先说下遇到的提审不通过的几个原因:

  1、在部分页面有微信分享或者微信二维码等和微信有关的东西(因为是直接把微信小程序扔过去的所有清楚有点麻烦)

  2、要求页面不能有空白,没东西最少要有文字提示,这个算是一开始没想到的用户体验性

  3、视频要求能够下拉页面跳过的时候自动暂停或者悬浮窗显示(因为文档不详细,网上资料很少,社区资料 也没有,特别吐槽,社区的官方人员回应速度慢,基本都是扔个文档链接或者示例,感觉对开发者很不友好,特别是在文档不是太清晰的问题)

遇到的坑,主要在支付这边,其他地方有问题的可以参考微信小程序,文档基本通用。头条因为没有自己的支付渠道,所以使用的是支付宝,利用tt.requestPayment()调起支付宝APP支付:

支付具体流程为:后端通过openid和自己这边的订单号生成一个头条的订单号,具体操作可以看文档流程,然后生成调用支付宝的一个字符串,这里需要使用支付宝文档,我使用的支付宝SDK,这边支付宝文档很好的,网上资料很多。最后就是组装后返回给前端调用支付宝。特别注意的是这里使用的所有appid等参数都是头条分配给商户的appid等。

  1、签名,在官方文档中,支付接入文档中,有签名说明和签名不通过说明,这里有个坑就是,签名说明是下单的签名的说明,签名不通过说明与示例是前端调用支付宝APP的签名。

  我的代码,这里为了方便展示,用的拼接:

$biz_content = array(

            ‘out_order_no‘ => $ordersn,

            ‘uid‘ => $openid,

            ‘merchant_id‘ => $ttshcode[$appid],

            ‘total_amount‘ =>$order[‘orderAmount‘] ? $order[‘orderAmount‘] * 100 : 0,

            ‘currency‘ => ‘CNY‘,

            ‘subject‘ => $order[‘goodsName‘] ? $order[‘goodsName‘] :‘名称‘ ,

            ‘body‘ => $ordersn.‘,‘.$order[‘orderAmount‘],

            ‘trade_time‘ => $time,

            ‘valid_time‘ => ‘60‘,

            ‘notify_url‘ => ‘http://www.******.com‘,

            ‘risk_info‘ => ‘127.0.0.1‘,

        );

        $biz_content = json_encode($biz_content);

        $data[‘app_id‘] = $ttapppay[$appid];

        $data[‘biz_content‘] = $biz_content;

        $data[‘charset‘] = ‘utf-8‘;

        $data[‘method‘] = ‘tp.trade.create‘;

        $data[‘sign_type‘] = ‘MD5‘;

        $data[‘timestamp‘] = $time;

        $data[‘version‘] = ‘1.0‘;

        ksort($data);

        $var = ‘‘;

        foreach($data as $key => $value){

            $var .= $key.‘=‘.$value.‘&‘;

        }
        $var = trim($var,‘&‘);

        $c = $var.$secret;

        $data[‘sign‘] = MD5($c);

        ksort($data);

        $vars = ‘‘;
        $vars = ‘app_id=‘.$data[‘app_id‘].‘&biz_content=‘.$data[‘biz_content‘].‘&charset=‘.$data[‘charset‘].‘&method=‘.$data[‘method‘].‘&sign=‘.$data[‘sign‘].‘&sign_type=‘.$data[‘sign_type‘].‘&timestamp=‘.$data[‘timestamp‘].‘&version=‘.$data[‘version‘];
        $url = ‘https://tp-pay.snssdk.com/gateway‘;     //进行post请求

2.支付宝这边支付的字符串参考支付宝文档生成

3.前端调用支付宝app,这边示例有个坑就是在支付宝字符串外面有一个花括号,这里有就提示签名错误,

代码示例:

     $goodsName = $order[‘goodsName‘] ? $order[‘goodsName‘] :‘名称‘;
        $urls = $this->alipay_get($goodsName,$datas[‘response‘][‘trade_no‘] , $order[‘orderAmount‘]); //这里是我写了个方法调用支付宝SDK的签名函数

        $list[‘app_id‘] = $ttapppay[$appid]; // test
        $list[‘method‘] = ‘tp.trade.confirm‘;
        $list[‘sign_type‘] = MD5;
        $list["uid"]=$openid;
        $list["total_amount"]=$order[‘orderAmount‘] ? $order[‘orderAmount‘]*100 : 0;
        $list[‘timestamp‘] = time();
        $list[‘pay_channel‘] = "ALIPAY_NO_SIGN";
        $list["pay_type"] = "ALIPAY_APP";
        $list["trade_no"]= $datas[‘response‘][‘trade_no‘];
        $list["merchant_id"]= $ttshcode[$appid];
        $list["risk_info"]= $this->input->ip_address();
        $list["uid"]=$openid;
        $arrParam=array("url" =>  $urls);
        $strParam=json_encode($arrParam);
        $list["params"]=$strParam;
        $list[‘url‘] =$urls;
        $signKeys=array("app_id","sign_type","timestamp","trade_no","merchant_id","uid","total_amount","params");
        $signData=array();
        foreach ($signKeys as $v) {
            $signData[$v] = $list[$v];
        }

        ksort($signData);
        $var = ‘‘;
        foreach($signData as $key => $value){
            $var .= $key.‘=‘.$value.‘&‘;
        }
        $var = trim($var,‘&‘);
        $list[‘sign‘] = MD5($var . $secret);
$datas[‘response‘][‘trade_no‘]为生成的单号。4.前端代码:
var obj = JSON.parse(res.data.data);//

                tt.requestPayment({
                    data: {
                        app_id: obj.app_id,
                        method: ‘tp.trade.confirm‘,
                        sign: obj.sign,
                        sign_type: ‘MD5‘,
                        timestamp: obj.timestamp.toString(),
                        trade_no: obj.trade_no,
                        merchant_id: obj.merchant_id,
                        uid: obj.uid,
                        total_amount: obj.total_amount,
                        pay_channel: ‘ALIPAY_NO_SIGN‘,
                        pay_type: ‘ALIPAY_APP‘,
                        risk_info: "{‘ip‘:‘"+obj.risk_info+"‘}",
                        params: JSON.stringify({
                                url:obj.url
                           }),
                        return_url: ‘https://***********/‘,
                        show_url: ‘https://*********/‘,
                    },
                    success (res) {
                        succ(res);
                        console.log(res);
                    },
                    fail (res) {
                        console.log(res);
                        wx.showModal({
                            title: ‘支付失败‘,
                            content: ‘‘,
                            complete (res) {
                                return tt.navigateTo({
                                    url: ‘/pages/user/orders/orders‘
                                });
                            }
                        });
                        fail(res);
                    }
                })

我这边后端返回的是json格式,前端转换为对象。

原文地址:https://www.cnblogs.com/zdzdbk/p/10969358.html

时间: 2024-08-25 10:17:19

关于今日头条小程序(字节跳动小程序)相关问题的相关文章

字节跳动为什么做一个产品火一个?

字节跳动的名字起的好,好名字也是公司愿景的体现 说到字节跳动不知道的人可能很多,但如果说到今日头条.抖音APP.火山小视频等这些产品,大家几乎都耳熟能详,并且一旦注册使用基本都是重度使用用户.而所有这些产品的创造者就是字节跳动,不得不说这个名字既有科技感又不乏艺术性(字节+跳动,这组合你懂得!).而其公司的整体表现,也像这个名字一样,在字节基础之上搭建了广阔的舞台,跳动着自己的特色. 那么字节跳动做一个产品火一个,难道真是这个名字起的好么?当然是因为做的好了!如今的字节跳动有些像未成名前的阿里巴

今日头条估值100亿美元,变身资讯APP巨头

[阅读原文] 作者:茱莉叶 身价估值100亿美元,攀升资讯APP寡头 手机APP今日头条母公司北京字节跳动科技有限公司考虑在最新一轮融资中筹资约10亿美元,包括新融资在内,其新估值有望达100亿美元.100亿美元的估值与微博的市值相当,按照周二46.67美元的收盘价计算,新浪微博总市值99.66亿美元.2014年6月,该公司估值仅为5亿美元,意味着其在两年内估值增长20倍. 北京字节跳动科技有限公司成立于2012年,主要产品是今日头条APP,通过海量信息采集.深度数据挖掘和用户行为分析,为用户智

锤子科技"临死前"被"接盘" ,内部人士爆料已改签今日头条母公司

就在昨天,据据锤子科技内部人士透露,部分锤子科技员工在昨天已经接到了相关的临时通知,要求改签劳动合同至今日头条的母公司--字节跳动.至于这是锤子科技真正再度复活还是借尸还魂都不重要,重要的是,作为忠实的锤粉者们,悬着的心终于要落地了. image 早有征兆 而根据早先新闻,就有相关媒体报道今日头条母公司字节跳动有意收购锤子科技的部分专利使用权,用于探索教育领域的相关硬件.内部人士还曾透露,改签劳动合同首先将自愿放弃锤子科技的假期.股权之类的,然后再签6个月的试用期,不过很有可能在试用期中被"干掉

今日头条入局“小程序”,与微信正面冲突不可避免!

2017年1月,微信之父张小龙首次提出小程序这一概念,并将其巧妙地安排在微信生态内.小程序的出现掀翻了移动互联网的"天花板",它带来了更多的可能性,为移动互联网的商业模式.交互模型创造了更多的可供探索的想象,也进一步的延长了移动互联网的价值链.扩大其经济商业生态圈,但同时也使得互联网市场多了一种变数. 今日头条入局"小程序" 9月17日,今日头条被曝光正在内测小程序,官方则回应称:"希望提供更丰富.更有价值的服务给不同需求的用户."官方的回应一方

今日头条悟空问答实现高效引流,轻松月入过万

这几天的互联网和朋友圈都被一则新闻刷屏了. 那就是今日头条从知乎平台签下了300个高质量的大V,而且签约费比普通的白领要高,签署的协议中规定这些大V们以后不允许在知乎等问答平台输出知识问答,并且每个月要有一定数量的回答,有字数的限定. 这个秘密协议立即在互联网中传播开来,逻辑思维创始人罗振宇转发了该消息并附以"江湖有事"四字评论. 时间倒回至2016年的4月7日,今日头条正式推出"头条问答"时,就被外界认为是在想知乎等问答分享社区发起挑战.紧接着,今年的6月份,&q

如何通过今日头条引精准流量,学完即用

我发现很多人都对今日头条引流比较感兴趣,每天都有人在微信上问我做今日头条引流的玩法,我也多多少少的回答了他们. 但是,头条规则改变太快,很多当前有效的玩法,没过多久就失效了.这里说的玩法,是指文章或视频上留微信号的方式.因为只有留了微信号,才能更好的去引流. 但是,除了留微信号之外,更重要的是内容的质量度,比如软文的质量度需要高,别让人家看出来是广告,再比如,视频的质量度,如果播放全程都是广告的话,肯定影响用户体验度.所以,留微信号是一方面,内容的质量度也是一方面. 对于我来说,头条的引流是分为

Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO

距离上次发布(android高仿系列)今日头条 --新闻阅读器 (二) 相关的内容已经半个月了,最近利用空闲时间,把今日头条客户端完善了下.完善的功能一个一个全部实现后,就放整个源码.开发的进度就是按照一个一个功能的思路走的,所以开发一个小的功能,如果有用,就写一个专门的博客以便有人用到独立的功能可以方便使用. 这次实现的功能是很多新闻阅读器(网易,今日头条,360新闻等)以及腾讯视频等里面都会出现的频道管理功能. 下面先上这次实现功能的效果图:(注:这个效果图没有拖拽的时候移动动画,DEMO里

[转]灯灯小程序开发手记:仿今日头条(上)

本文转自:http://www.jianshu.com/p/a1e0b8abb12d 写在前面 新的一年,祝大家新年快乐!当然对于程序员来说,新的一年,也要有新的改变.因此灯灯决定凑热闹编写微信小程序啦! 上一篇文章<记一次小程序开发过程>中,灯灯大致写了下自己第一次开发小程序的感受和流程.这一次灯灯会详细记录下自己制作一个小程序的思路.遇到的问题.涉及到的代码等和大家分享.    视频教程地址:http://study.163.com/course/introduction.htm?cour

今日头条小程序开发公司

今日头条正式发布了小程序,小程序目前只对安卓系统开放,这是继微信.支付宝.百度之后又一家上线小程序的互联网企业,今日头条推出小程序,是希望提供更丰富.更有价值的服务给不同需求的用户.今日头条小程序其实也可以说是抖音小程序,活跃用户量较多.带货能力强.今日头条是一个内容分发平台,创作者与用户建立联系,产生互动.今日头条小程序目前做的人还是比较少的,是最佳的开发制作时机,早一点开发头条小程序就早一点占据头条小程序排名.那么今日头条小程序优势有哪些呢?1.头条最不缺的就是流量,而头条小程序依托流量必将