富友是一个比较大的支付接口提供商,可惜这个支付商主要是提供POS机的收费场景,面向游戏并不是特别好用,如果不是需要H5支付,这个支付接口根本不是好的选择的对象。如果是针对APP,还是直接接微信和支付宝更为合适。
这个支付所提供的接口文档就是个笑话,错误百出,自相矛盾,给出来的例子完全不能代表真实的支付场景。而且回调地址无法自己控制,也就是说一个账号只能有一个回调地址,没办法通过参数传递,这一点就严重的限制了使用场景。开发中的坑特别多,痛苦指数爆表。
总之,准备使用这个支付平台的朋友们慎重慎重再慎重。
const fs = require('fs');
const Base = require('./base.js');
const crypto = require('crypto');
const axios = require('axios');
const { stringify } = require('querystring');
const { jar } = require('request');
const app_pub_key = fs.readFileSync('./xxxxx', 'ascii');
const fup_pub_key = fs.readFileSync('./xxxxx', 'ascii');
// 准备公钥的格式
let key = ['-----BEGIN PUBLIC KEY-----\n'];
let i = 0;
while( i < app_pub_key.length )
{
key.push( app_pub_key.substring(i, i + 64) + '\n' );
i += 64;
}
key.push('-----END PUBLIC KEY-----');
const app_public_key = key.join('');
key = ['-----BEGIN PUBLIC KEY-----\n'];
i = 0;
while( i < fup_pub_key.length )
{
key.push( fup_pub_key.substring(i, i + 64) + '\n' );
i += 64;
}
key.push('-----END PUBLIC KEY-----');
const fup_public_key = key.join('');
const app_private_key = fs.readFileSync('xxxxxx', 'ascii');
module.exports = class extends Base {
pad(num, n)
{
var len = num.toString().length;
while(len < n) {
num = "0" + num;
len ++;
}
return num;
}
sign(param, key)
{
let map = [];
let keys = Object.keys(param); // 获取所有的key
keys.sort(); // 排序
for (let key of keys)
{
//剔除空值及签名字段
if( key != 'sign' &&
key != 'reservedSecretPlatId' &&
key != 'reservedOrderNo' &&
key != 'reservedDsc' &a

文章批评了富友支付接口在游戏场景下的不足,包括文档错误、回调地址控制、开发困难等问题,建议游戏开发者优先考虑微信和支付宝等更适用的支付方式。
最低0.47元/天 解锁文章
2358

被折叠的 条评论
为什么被折叠?



