[博文] 使用 Stripe 集成支付宝


#1

这个周末我按照 Stripe 的文档做了一个捐款页面、集成了支付宝。


#2

直接用支付宝、微信的接口会很慢?


#3

什么慢?开发速度慢、还是性能慢?


#4

从海外调他们的API响应会慢一些,


#5

我主要的问题是:我没国内银行账号,所以支付宝里的钱取不出来:)用了支付宝官方 api,应该也无法将钱转到我在美国的银行账号。使用 Stripe,就相当于用了一个中间人,付款方使用支付宝,收款方(我)在美国的银行账号里拿到钱;代价是,得交 2.9% + $0.3 的手续费给 Stripe。


#6

你好, 最后跳转到支付宝支付页面, 是用到"源"对象的—

{
  "id": "src_16xhynE8WzK49JbAs9M21jaR",
  "object": "source",
  "amount": 1099,
  "client_secret": "src_client_secret_UfwvW2WHpZ0s3QEn9g5x7waU",
  "created": 1445277809,
  "currency": "usd",
  "flow": "redirect",
  "livemode": true,
  "owner": {
    "address": null,
    "email": null,
    "name": "null",
    "phone": null,
    "verified_address": null,
    "verified_email": null,
    "verified_name": "null",
    "verified_phone": null
  },
  "redirect": {
    "return_url": "https://shop.example.com/crtA6B28E1",
    "status": "pending",
    "url": "https://pay.stripe.com/redirect/src_16xhynE8WzK49JbAs9M21jaR?client_secret=src_client_secret_UfwvW2WHpZ0s3QEn9g5x7waU"
  },
  "statement_descriptor": null,
  "status": "pending",
  "type": "alipay",
  "usage": "single_use",
  "alipay": {
    "statement_descriptor": null,
    "native_url": null
  }
}

Source. redirect. url

, 是使用 redirect. url来跳转的吗?


#7

没错,重定向回wanqu的页面


#8

你好, 我拿到了redirect. url, 我是iOS端的, 拿到source.redirect. url, 我用浏览器看了下, 如图.

,

1.是因为我使用的test_key的原因吗?(pk_test_XXwXXXXXXXXXXXXX)
2. 如果,我使用了live_key(pk_live_sdoXXXXXXXXXXX), 是不是生成的"source.redirect. url,"的url点进去,就直接到了支付宝的支付页面了?如图

第三个问题, 我使用了"湾区日报"iOS客户端,—>“更多”—>“广告合作”…最终进入到含有支付宝支付按钮的页面,然后点击支付宝,最终生成了订单支付宝APP被唤起, 从点击"广告合作"以后都是webview展示的网页吧? 然后我想问问支付宝APP是怎么被唤起来的, 是webView打开某个特殊URL系统就调起了支付宝APP吗? 实际上从支付宝APP回到"湾区日报"看到的是如上图的一个支付宝网页支付页面, 如果真的是webview打开某个特殊URL这个特殊的URL就是使用live_key得到的"source.redirect. url"呢?


#9

1,是。
2,是。
3,是在 webview 里打开;应该是支付宝 app 的 deep linking 打开了支付宝 app。


#10

谢谢您的真诚回答!不成敬意,请您喝杯咖啡谢谢.6.66刀勒那位是我,谢谢您!666!


#11

您好,我有个问题,咨询下,就是跳转支付宝页面后,我使用手机扫描支付的时候,支付宝提示商品信息不存在,请问有没有碰到过这种问题呢,或者您知道是什么原因呢,先谢谢了


#12

您好:

小弟是个电脑白痴, 所以若问了愚蠢的问的的话, 请勿见怪。

看了您的示范, 加上stripe官网的解说, 现在大概明白client side的程式码要怎样做了。

但server side那边, 我看了stripe官网的解说, https://stripe.com/docs/sources/alipay

反而越看越乱了。

请问一下, 在下面的code里, amount 要如何才能更改呢?

// Set your secret key: remember to change this to your live secret key in production
// See your keys here: https://dashboard.stripe.com/account/apikeys
var stripe = require(“stripe”)(“sk_test_96xT9Ke5nOy8vigbhZXjAjtI”);

stripe.charges.create({
amount: 1099,
currency: “eur”,
source: “src_18eYalAHEMiOZZp1l9ZTjSU0”,
}, function(err, charge) {
// asynchronously called
});

我可不可以用https://webtask.io/或Google Cloud Functions来做到相同的较果呢?

希望您不吝赐教, 不胜感激。

谢谢。


#13

您好,stripe接入好像需要美国公司主体,请问您怎么申请的?


#14

嗯?我不太清楚这个。我当时弄的时候不记得需要公司啊。。。