Node.js+MongoDB+Express网站开发(一):使用Ping++SDK接入支付功能

NodeJS实现支付宝沙箱支付 ②③ Node.js是一个javascript运行环境。它让javascript可以开发后端程序,实现几乎其他后端语言实现的所有功能,可以与```PHP、Java、Python、.NET、Ruby等后端语言平起平坐。Nodejs是基于V8引擎,V8是Google发布的开源JavaScript引擎,本身就是用于Chrome浏览器的JS解释,但是Node之父Ryan Dahl把这V8搬到了服务器上,用于做服务器的软件。沙箱环境: 是协助开发者进行功能测试,模拟了开放平台产品的主要功能,逻辑。 阅读详情

前言:

        最近一直在用node开发网页,也实现了一些小功能,一直想写下来。之前的以后再写,先把刚刚实现的功能写下来,也算是一种经验总结吧!

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

首先报一下开发环境:

OS:Mac OS X 10.11.1

Node: v0.12.7

MongoDB: 3.0.5

Express: 4.12.2


使用Ping++SDK接入支付功能其实不难,跟着官方文档走就行了,不过我们在开发的过程中遇到了一些坑,在这里写出来给大家做一个参考。

首先在router里写一个get来测试一下功能:

router.get('/test', function(req, res) {
    res.render('test');

});
然后render到前端的test.jade中,在页面中引入pingpp-pc.js,这个js文件可以在Ping++的github上取得。然后再写一个jQuery ajax(这里写了一个button,由button触发ajax):
$("#btn").click(function(){
                $.post('/test', function(resp){
                    var charge = resp.charge;
                    pingppPc.createPayment(charge, function (result, err) {
                        // 处理错误信息
                        alert(result);
                        alert(JSON.stringify(err));
                    });
                });
            });
在router的post里创建ping++的charge对象,此处一定要注意channel和extra的一致!之前就是因为支付宝的手机端和PC端搞混了就一直报错说是无效的charge。具体参数见Ping++的官方API文档。

create了一个charge对象后,在回调函数里将charge传到client端:

if (err) throw err;
        response.charge = charge;
        res.set('Content-Type', 'application/json');
        res.end(JSON.stringify(response));
其中 response在前面定义了: var response = {};

    这里有一点比较奇怪,就是server端传过去的是由JSON结构解析出的字符串,但是在client端得到的却是JSON结构的数据,所以可以直接使用传过来的charge对象实例了。我们之前没有用Ajax,而是直接get请求到client端,无论是直接传JSON结构还是传字符串格式(在client端再解析成JSON格式),到了pingpp那边都会报“json_decode_fail”的错误。换成Ajax来交换数据就可以了…这一点一直不理解,但请大神赐教。

    之后直接运行‘www.xxxx.com/test’后按button,一切顺利的话就可以得到如下页面了:


    

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

后记:

    第一次写这类技术性的文章,可能有些用词不太准确,技术方面也会有漏洞,也请大家多多指出,共同进步!


参考文档: 

    Ping++官方文档:https://pingxx.com/guidance

mongoose-ping:用于在 mongoose mongodb 连接上执行健康检查 ping 的 Express 中间件 猫鼬 用于在 mongoose mongodb 连接上执行健康检查 ping 的 Express 中间件。 立即下载

相关推荐

Node.js-speed-test-测试你的网络连接速度和ping命令

speed-test - 测试你的网络连接速度和ping命令

使用 node 调用支付宝支付接口

这篇文章中,我将简单介绍下在 node 中使用支付宝沙箱。 文章目录1、起步2、生成密钥3、初始化项目4、代码编写5、支付商品6、结束 1、起步 先注册支付宝开放平台账号:https://open.alipay.com/ 登陆成功后,点击进入管理中心 进入成功后,选择控制台选项,然后点击研发服务进入。 在这个沙箱应用界面中等待着,待会再过来操作 2、生成密钥 这时候还需要下载一个生成支付宝支付密钥的应用,下载地址:https://opendocs.alipay.com/common/02k.

qq_45770253的博客 2487

2022北京高考数学压轴题21题:Python暴力枚举验证k≥7的5种反例

本文探讨了2022北京高考数学压轴题21题的编程解法,通过Python暴力枚举验证k≥7的5种反例。文章详细介绍了m-连续可表数列的定义、问题转化与约束条件,并提供了暴力枚举算法设计和优化技巧,帮助读者理解如何用编程思维解决数学问题。

weixin_33552698的博客 234

nodejs批量ping

在一批大量的ip地址之中查找哪个地址是有效的并且应答的时间最快nodejs中可以使用net-ping模块ip地址所在的json文件格式如下,只粘贴部分信息,文件名:gui-config.json{ "configs" : [ { "remarks" : "德国", "server" : "172.104.155.76",

Keep It Simple, Stupid 6585

【NCBI】SRA toolkit安装及使用-Windows&Linux版本

由于市面上的文章介绍SRA toolkit基本上都是基于Linux,而在windows下运行SRA toolkit基本上可以达到相同的效果且更为方便,故本文将分别阐明在Windows和Linux环境下SRA toolkit的安装及使用。

weixin_48076899的博客 2万+

量化投资进阶:Fama-French三因子模型实战解析与Python实现

本文深入解析了Fama-French三因子模型,并提供了完整的Python实战指南。文章阐述了该模型如何通过引入市值因子(SMB)和价值因子(HML),对传统CAPM模型进行重要扩展,以更精准地解释股票收益来源。详细演示了使用Python获取数据、执行回归分析并解读结果(包括关键的阿尔法α)的全过程,并探讨了该模型在量化策略构建、风格诊断和业绩归因中的核心应用。

yog99的博客 1127

nodejs+express实现ping命令并返回信息

nodejs获取ping

鲁小班的博客 2769

CKA考试实战指南--从备考到通关的完整攻略

本文提供了一份全面的CKA考试实战指南,涵盖从备考规划、资源选择到高效练习环境搭建的全过程。重点解析了考试核心内容,特别是占分30%的故障排除难点,并分享了集群升级、etcd备份等高频考点的突破技巧与临场实战策略,帮助考生系统掌握Kubernetes实操技能,顺利通过认证。

weixin_28839549的博客 490

node.js 支付宝完整支付、网页支付、当面付款、订单查询、签名校验

网页支付,我们知道是直接使用URl进行调整支付https://openapi.alipay.com/gateway.do然后后面带什么参数呢? 这是本地: 然后ajax请求得到参数然后跳转router.get('/pay', function(req, res, next) { var url= ali.webPay({ body: "ttt", s

Harry_一棵树的博客 1万+

面试真题集(十六):TensorRT基础

TensorRT面试真题解析:从模型优化到推理部署 本文精选了14道TensorRT面试题,涵盖选择题、简答题和场景题,深度考察推理工程师对TensorRT核心技术的理解。内容聚焦三个关键维度: 基础概念 FP16推理中Softmax层为何需保持FP32(数值稳定性) INT8校准原理(EntropyCalibrator2的鲁棒性优势) Plugin V3接口的构建/运行分离设计 性能优化 Conv-BN-ReLU融合减少40-60%延迟的关键机制(访存优化) 动态Shape配置策略(min/opt/max

PeterPan的博客 71

PID、模糊PID、SkyHook、LQR、H2/H∞、ADRC等悬架控制合集

PID、模糊PID、SkyHook、LQR、H2/H∞等悬架控制合集

Mr.邹的博客 2013

node-ping: 快速、强大的网络探测工具

node-ping: 快速、强大的网络探测工具 项目地址:https://gitcode.com/gh_mirrors/no/node-ping node-ping 是一个基于 Node.js 的网络探测库,它可以用来快速检测网络连接的可用性和延迟。它支持 ICMP(互联网控制消息协议)和 TCP 协议,并且提供了许多实用的功能和选项。 功能和用途 使用 node-ping,您可以实现以下功能: ...

gitblog_00009的博客 1766

运行openclaw gateway install时出现Gateway install failed: Error: schtasks create failed的解决方案

本文主要介绍了运行openclaw gateway install时出现Gateway install failed: Error: schtasks create failed的解决方案,希望能对学习和使用openclaw的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 11万+

Claude Code实战指南:从环境配置到高阶开发技巧

AI代码助手正逐步演进为深度集成开发环境的智能开发副驾,其核心原理在于通过大语言模型理解项目完整上下文,实现精准的代码生成与重构。这一技术价值在于将开发者从繁琐的重复劳动中解放,专注于架构设计与核心逻辑。在工程实践中,AI助手能显著提升全栈开发、代码审查与学习新技术的效率。以Claude Code为例,其环境搭建需注意API配置与网络环境,而通过CRAC提问框架、复杂任务分解等实战技巧,开发者可将其应用于自动化脚本编写、故障排查思维链引导等高阶场景,实现开发流程的智能化升级。

weixin_34232744的博客 388

RAP 语义键:让 UUID 世界变得可读、可导航、可校验

RAP 语义键的核心价值与实现要点 语义键(Semantic Key)是 ABAP RAP 模型中连接技术实现与业务体验的关键设计:通过为实体指定一组业务可读的标识字段(如订单号、物料编码等),在保持技术主键(如UUID)不变的同时,显著提升用户界面的可读性和导航体验。 主要优势: 提升UI可读性:Fiori元素会突出显示语义键字段,帮助用户快速识别关键业务数据 改善导航体验:OData URL会使用可读的语义键而非技术ID,便于分享和排查问题 降低沟通成本:业务人员能准确引用有意义的业务标识而非技术ID

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 155

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

前端必知必会(一):vue3+node实现网站支付功能

在我上学那会当时写过一个小网站,初衷是分享自己的学习经验。后台随机学习的不断深入,有把网站做一个支付功能。当时这是想但是一直没有实现这个想法。那时认为支付是一个很复杂的功能,今天我就想简单来了解一下支付的一个实现过程,案例中我采用的是沙箱,之前只是听过,编码使用Vue和Node想结合。写的不好,大家多多批评。😜😜😜

爱勇宝 3123

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【亲测免费】 Node.js Ping 使用教程

Node.js Ping 使用教程 项目介绍 本教程基于danielzzz的node-ping项目,这是一个简单的Node.js库,用于发送ICMP ping请求来检查主机是否在线。这个库提供了一种简便的方法来从Node.js应用程序执行网络设备的连通性测试,支持IPv4和IPv6地址。 项目快速启动 首先,确保你的开发环境已经安装了Node.js。然后,通过npm或者yarn添加node-pin...

gitblog_00361的博客 791

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

微信h5支付流程,nodejs与云函数版本

本文将介绍在nodejs开发环境下的微信h5支付流程,由于笔者被微信文档逼疯,又被网上的多种不完全的博客坑害,所以总结自己的经验,给出完整流程。注意!笔者的开发环境是uniapp+unicloud,运行环境是在微信浏览器中的公众号h5网页,依托于微信公众号。后端是nodejs,如果是使用java和php的朋友可以完全参考微信开放文档,因为有完整的sdk示例流程。只需要了解前端换取code的方式即可。

sc909090的博客 1368

支付宝-NodeJs面支付(扫码支付)

支付宝开放平台完成接入并访问后进入“控制台”会看到当面付应用已开启:3.点开应用完成(秘钥/证书)的设置。

qq_46430455的博客 3768

Nodejs实现微信小程序支付功能前后端实践 全新的微信支付 APIv3

自己实现一个带支付功能的小程序,前端使用uniapp,后端使用Node.js,将实现微信小程序支付功能的全流程详细记录下来。使用的是全新的微信支付 APIv3,优点是 -使用JSON作为数据交互的格式,不再使用XML。

html0010的博客 4471

nodejs介绍

主要内容:

sundanping_123的博客 374

NodeJS微信支付

NodeJS微信支付分可以为三个部分:一、前端获取code获取用户Oppenid二、拿到当前用户支付的请求参数三、支付成功后的跳转先说第一步骤吧1)通过js脚本请求请求微信后台并返回code(JS跳转获取回调当前URL)https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=' + encod...

zhwangchao的博客 6495

PHP 驱动 MongoDB 的方法和技巧

导读 当与mongodb复制集建立连接时,驱动程序首先尝试连接并验证集群中每个非 隐藏的节点。如果一个节点是“down”状态,将跳过。 创建索引有时会阻塞新的连接 然而,如果一个节点是“UP”状态,但是持有写锁,那么验证将没法执行下去,因此该驱动程序将被挂起了。 在mongodb 2.6版本前,在建立索引时的通病。所有的在前台或后台创建索引,在secondary端将

Linux运维的博客 385

Node.js和uni-app实现微信小程序支付

自己实现一个带支付功能的小程序,前端使用uniapp,后端使用Node.js,将实现微信小程序支付功能的全流程详细记录下来。使用的是全新的微信支付 APIv3。

china-quanda 2597

【Node.js】实现微信小程序在线支付功能

node.js实现微信小程序在线支付功能

业余丰富各种技术栈 3474

Linux安装MongoDB以及部署测试

引言 之前在Linux上安装MongoDB遇到了很多的坑,导致拉长了很大的时间周期,现在准备记录一下整个流程的笔记以及一些安装过程中遇到的坑 MongoDB的安装 在Linux中,安装MongoDB远比Windows上安装快很多,Windows版本的安装普遍因为系统问题会出现bug,而如果安装成功,后面的步骤我感觉会比linux轻松很多。那么linux总结的安装过程如下: # 1. 安装3.0.1...

submarineas的博客 1514
上一篇: 解决mysql5.6无法显示和插入中文(mac/linux)
Eden_LZH
博客等级 码龄12年 1粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值