Stripe开发使用指南--国际支付(支付宝)

这个开发过程就是一堆坑,中文教程都没有,心累。 更多内容见个人博客 :https://iii.run/


权限

image

请确保对应的权限是支持的

Checkout

Checkout 最经典的实现方式,代码非常简单。
官方介绍

<form action="your-server-side-code" method="POST">
  <script
    src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-key="pk_test_g6do5S237ekq10r65BnxO6S0"
    data-amount="999"
    data-name="Stripe.com"
    data-description="Widget"
    data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
    data-locale="auto"
    data-zip-code="true">
  </script>
</form>

image

但总是有这个错误

Unrecognized request URL (POST: /v1/alipay/send_sms). Please see https://stripe.com/docs or we can help at https://support.stripe.com/.

Github上找到了官方回复,支付宝不支持Checkout。

话说那你还写个支付宝在哪里干嘛,气死了简直。

Stripe.js & Elements

alipay 介绍

官方的介绍嘛,也没说自己是什么语言,一直在原地打转。

试来试去,发现是js。主要没学过js,愣是现学现用。

构造页面

<p class="card-heading">请选择充值金额:(美元)</p>
    <div class="form-group form-group-label">
    <input type="hidden" id="stripe" value="'.Config::get("stripe_Publishable").'">
    <input type="hidden" id="alipayRedirect" value="'.Config::get("baseUrl").'/pay_callback'.'">
    <input class="form-control" id="payment-amount" type="number" min="0.00" max="10000.00" value="5" step="1">
    </div>
    <div class="card-action-btn pull-left">
    <button class="btn btn-flat waves-attach" id="alipay-submit" ><span class="icon">check</span>&nbsp;支付宝充值</button>
    </div>

监控按键,处理返回参数

这块单独写了一个js文件,到对应的页面直接调用即可。

$(document).ready(function() {
    $('#alipay-submit').on('click', function() {
        const amountInput = $('#payment-amount');
        var totalAmount = parseFloat(amountInput.val()) * 100;
        var stripe = Stripe($('#stripe').val()); 
        var user = $('#user').val();
        var alipayRedirect = $('#alipayRedirect').val();
        var stripeSource = stripe.createSource({
            type: 'alipay',
            amount: totalAmount,
            currency: 'usd',
            owner: {
                name: user,
            },
            redirect: {
                return_url: alipayRedirect
            },

        }).then(function(result) {
            if (result && result.source && result.source.redirect && result.source.redirect['url']) {
                //console.log(result.source.id);
                //console.log(result.source.amount/100);

                $.ajax({
                    type:"POST",
                    url:"/user/code/stripe_pay",
                    dataType:"json",
                    data:{
                        userid: result.source.owner.name,
                        total: result.source.amount/100,
                        tradeno: result.source.id
                    },
                    success:function(data){
                        if(data.ret == 1){
                            $("#result").modal();
                            $("#msg").html(data.msg);
                            window.setTimeout(location.href = result.source.redirect['url'], 2000);
                        }else{
                            $("#result").modal();
                            $("#msg").html(data.msg);
                        }
                    },
                    error:function(){
                        $("#result").modal();
                        $("#msg").html(data.msg);
                    }
                });
            } else {
                console.log(result);
                $("#result").modal();
                $("#msg").html(result.error.message);
            }
        });
    });

});

有两个地方比较关键:

  • var stripe = Stripe($('#stripe').val());
  • }).then(function(result) { 后边的部分对result的处理

调用

调用这块再说一下

<script src="https://js.stripe.com/v3/"></script>
<script src="上边那个js"></script>

记得先调用stripe的js,然后调用我们的。

看起来好像也没我写的时候那么难。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,170评论 25 708
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,338评论 3 119
  • 昨天发的那篇关于戛纳电影节的文章,又被boss diss说我没正形,人家都报美好的,我总视角清奇的爆负面。辣眼睛的...
    闹儿不闹阅读 813评论 0 2
  • 在柳州过了一夜,第二天坐火车到了南宁,下车吃了个螺蛳粉,继续坐上南宁到昆明的火车。 预想是在南宁逗留一下,突然改变...
    非有先生阅读 368评论 0 1
  • 临江仙 元宵节家宴题记 作者:岫奕 上元佳节赴家宴,子弟励志为盼,赶上时代多奉献。灯会红火火,元宵滚滚圆。 天命之...
    岫奕阅读 431评论 1 17

友情链接更多精彩内容