做外贸站,有流量靠山,所以成交量预计应该还是不错,而且从用户反馈情况来看,应该很有前景,现在准备薅欧美资本主义羊毛,开始出售虚拟服务,准备实施的方案为:用户按月付费订阅我们的服务。目前就准备着手开发网站的支付系统了,但有几点需要疑问:
另外还有哪些需要注意的求好心 V 友提示一下避免踩坑,第一次开发支付系统难免有点摸不着头脑,求好心 V 友解答一下,谢谢
1
jellybool 2017-05-18 11:13:23 +08:00 via iPhone
国外的话,stripe 不是最好的选择么
|
2
littleylv 2017-05-18 11:16:07 +08:00 2
1、基本 paypal 就行了,paypal 有官方的 sdk 可以用
2、正常的网站怎么登陆就怎么登陆,跟金钱不金钱没关系,都要注重安全问题 3、同上 4、不需要 5、涉及到支付的,强烈建议 https 6、paypal 系统后台可以操作 |
3
qinxi 2017-05-18 11:23:11 +08:00 1
锁锁锁锁.
对账. |
4
Reign OP @littleylv 谢谢,但最后一点搞不明白,用户的支付结果存储在我的 mysql 中,我怎么通过 PayPal 来返给用户余额?
|
5
littleylv 2017-05-18 11:30:23 +08:00 1
@Reign #4 不,客户的支付结果不仅仅只在你的系统中,paypal 也有,客户可以在他的 paypal 中心看到。
所以,针对订阅制的服务,客户也可以在他的 paypal 账户中心随时取消订阅,因此你的系统中需要有个 hook 让 paypal 通知你“客户在 paypal 取消订阅了,你把你系统的信息也改成取消吧”。 当然,你也可以在你的系统中做取消的功能,客户可以在你的系统里取消,系统再调用 paypal 取消订阅的接口去取消。 |
6
johnlui 2017-05-18 11:47:24 +08:00
钱的单位要用分。
|
7
kulove 2017-05-18 11:53:15 +08:00
权限控制好别被绕过,比如优惠券是否本人,后台计算订单金额。
|
8
koolob 2017-05-18 11:56:56 +08:00
好好研究支付渠道的文档,各种情况的回调都要处理,支付成功、争议、退款等。
记录用户订单产生变化时的当时用户状态,这样有客诉过来时,有据可查。 |
9
airyland 2017-05-18 11:58:50 +08:00
做好权限校验,做好金额校验,金额用分,不要出现前端可改价格这类错误。
|
10
duola 2017-05-18 12:04:57 +08:00
希望楼主避开这一抗,PayPal 环境必须是线上的,本地就拿不到参数的。
|
11
kmahyyg 2017-05-18 12:29:16 +08:00 via Android
paymentwall 国内国际通用
|
12
paw 2017-05-18 12:31:02 +08:00
注意不要直接用浮点数存 xx.xx 元...
|
13
gamexg 2017-05-18 12:35:26 +08:00 via Android
2.可以绑定 ip,服务器发现客户端 ip 变更后敏感操作要求重新登录。
|
15
ljy2010a 2017-05-18 13:55:09 +08:00
国外小心信用卡使用
|
17
hshw 2017-05-18 14:05:27 +08:00
先拿到 ICP 许可证再说 (不是备案)
|
18
isno 2017-05-18 14:07:17 +08:00 2
2. 注意 JS 注入,所有外界输出的信息在网站输出的时候做一次 html 转义
4. 存储到 mysql 不用再加密 6. 支付后保存 支付订单 ID 等信息, 支付网站有退款接口的 价格信息在数据结构建议用 int, 单位最小分, (用浮点数会有 IEEE754 浮点数误差问题, 容易出错) |
20
imnpc 2017-05-18 14:34:54 +08:00
不要考虑 paypal
用 stripe |
21
lingo 2017-05-18 14:48:57 +08:00
我很好奇是个什么样的流量靠山。。。不便细说也可以大概举个栗子?
|
23
sp1sp1 2017-05-18 14:53:28 +08:00
我很好奇是个什么样的流量靠山。。。不便细说也可以大概举个栗子?
|
24
pango 2017-05-18 15:00:30 +08:00
我做过,用的是这个: https://github.com/spookylukey/django-paypal, 已经帮你搞定了一切,文档在这里: https://django-paypal.readthedocs.io/en/stable/
|
27
bozong 2017-05-18 15:44:24 +08:00
我们用的 decimal(18,4)
|
29
subpo 2017-05-18 15:52:59 +08:00
不要用 float 不要用 float 不要用 float
|
30
maomaomao001 2017-05-18 15:55:50 +08:00 via Android
@slime7 一般用什么表示钱呢? 我的也是浮点数
|
32
slime7 2017-05-18 16:24:15 +08:00
@maomaomao001 楼上都提了,用分作单位,显示的时候转换元,微信也是分单位;用 decimal。
|
34
chiukong 2017-05-18 16:48:57 +08:00
1.paypal 可以,但如果是虚拟服务,小心被反蹭羊毛
2.cookie 丢失都会造成用户信息泄露,但是关键业务,如购买之类的,除了 cookie 还要做二次身份确认,如支付密码,手机短信验证码等 3.这个问题。。不知道如何回答。反正用户有操作就会对 cookie 续费 4.用户关键信息需要做对称加密,密码等做不可逆存储 5.需要 6.PayPal 支持退款。。。 |
35
chiukong 2017-05-18 16:50:29 +08:00
对楼主的流量靠山比较感兴趣,我也做了几年支付系统了,有其他问题可以加微信聊聊,可以提供一些其他建议。俺也顺便了解下俺感兴趣的话题。哈哈。微信:chiukong_lee
|
37
qceytzn 2017-05-18 17:02:51 +08:00
|
38
zhanziyang 2017-05-18 17:15:57 +08:00
别的我不确定,但 HTTPS 是肯定要的,必经涉及到金钱,HTTPS 相当于多一层保护层
|
40
lianxiaoyi 2017-05-18 18:18:53 +08:00 2
记得在系统里面埋漏洞。。。。。拿前台穿过来的金额去创建支付链接。。然后让它付款。。。然后在 webhook 回调的时候,判断实际支付的钱和实际需要支付的钱是否一致,不一致就冻结帐号。。黑掉这笔钱。。。。
|
42
falcon05 2017-05-18 18:38:08 +08:00 via iPhone
@lianxiaoyi 666
|
43
linfox 2017-05-18 18:39:20 +08:00
不是很懂楼主的需求。
如果只是单纯做个 外贸的独立网店,为什么不用一些现成的方案 比如 shopify ? |
45
julyclyde 2017-05-19 07:30:44 +08:00
安全方面,PCI IDS 标准有明确定义了
国内的话可以找银联金卡科技公司做认证和合规指导 |
47
Felldeadbird 2017-05-19 09:18:28 +08:00
我想说楼主想太多了。
1.paypal 就基本满足 国外大部分地区了。 2. 账号余额安全的事情,做好日志系统、财务系统。 财务需要每天对账,检查坏账。 3. https 6 月开始,paypal 强制要求。 4. 做好客服工作。就是弄一套工单系统。客服将会是你们未来一笔投入。 5. 安全方面没啥好的建议。 |
48
paw 2017-05-19 09:28:24 +08:00
|
49
dangyuluo 2017-05-19 10:12:13 +08:00
如果是 MySQL,decimal 足够了吧。我目前就是用的这个做的支付,没有遇到过什么问题。
|
50
dangyuluo 2017-05-19 10:13:23 +08:00
@lianxiaoyi 记得很早很早很早很早之前,有一个网站系统就是用前台得到的金额去支付,结果被各路人马黑得体无完肤,是真的在黑。
|
53
dangyuluo 2017-05-19 11:31:10 +08:00
@Reign
1,前台只是负责显示,真正的支付订单由后台向支付服务提供商发起请求生成。现在微信的支付的统一下单就是这么做的。 2,支付完成后,一般的支付服务商都会提供回调来通知服务器该笔订单已支付,这时要检验金额是否符合,来源是否为官方服务器,最好的办法是在你的订单上加盐,然后做 hash 运算( md5 就足够了我认为?)以校验该通知的合法性。一旦任何地方不一致,锁住该笔订单。 这样的话除非别人把你的服务器黑掉,否则是无法给你虚假付款的。 |
54
wh58440 2017-05-19 13:20:14 +08:00
@Reign
1.确定好你做的到底是什么,是支付系统,还是普通平台对接支付公司的接口渠道。 2.paypal 的后端这种,才能称之为支付系统,其主要的功能是商户配置,风险控制,交易对账等,而不是用来提供给普通人进行支付用的,是 B2C 中的 B 端。 3.如果确定了是要做支付系统那就不是几句话能说清了,组个 team 建项吧 |
55
wh58440 2017-05-19 13:21:42 +08:00
第 2 点少说了一句,是 B2C 中 B 端的底层
|
56
KhadainJHIN 2017-05-19 14:04:56 +08:00
开发出来丢给白帽子众测吧,大家双赢......
|
57
kmahyyg 2017-05-20 01:00:28 +08:00 via Android
@tf141 不行就换其他的,我的 sspanel 用的这玩意。还可以,你去找 sspanel 的支付的相关的东西,基本上几家支持支付宝的国内外网关都有。
|
58
mineqiqi 2017-06-20 17:43:28 +08:00
你做的肯定不是支付系统,只是平台对接支付机构。。。
|