stripe 支付

stripe 支付整理
1、创建账号
官方网址 中文版 https://stripe.com/zh-cn-us/payments
2、激活你的账号
在这里插入图片描述
填写信息只支持国外与香港的哦
在这里插入图片描述

在这里插入图片描述

3、开发者秘钥
如果不激活的话,只能用测试api秘钥在这里插入图片描述

4、配置你的回调地址
配置秘钥,选择webhook事件
事件一定要选择 checkout 与change
在这里插入图片描述
5、设置支付方式
获取支付方式资格,没有资格的付款方式,是不可以用来支付的,一定要注意
在这里插入图片描述
6、官方实例
官方文档 https://stripe.com/docs/payments/integration-builder
官方实例:不同语言的都有
记得用之前先安装一下扩展 composer require stripe/stripe-php
在这里插入图片描述
支付宝支付文档
https://stripe.com/docs/payments/alipay/accept-a-payment
在这里插入图片描述
微信支付文档
https://stripe.com/docs/sources/wechat-pay
在这里插入图片描述
Apple pay 文档

7、简单的代码开发

 require 'vendor/autoload.php';
 //信用卡支付方法
 public function pay($token, $amount, $order_sn)
    {
        $amount = bcmul($amount,100);//支付没有分需要*100
        \Stripe\Stripe::setApiKey('你的开发密钥');//在开发者 api秘钥里查找 不是发布秘钥,发布秘钥是前端使用的
        $amount = floatval($amount);
        $charge = \Stripe\Charge::create([
//            'payment_method_types' => ['alipay'],
            'amount'               => $amount,//金额 实际支付金额 需要*100,不支持小数点
            'currency'             => 'usd',//币种 根据你自己的项目选择支付的币种
            'description'          => $order_sn,//描述
            'source'               => $token,//用户token 前端吊调起支付时 获取
        ]);
        return $charge;
    }
	//支付宝支付
	public function alipay_pay($amount,$order_sn)
    {
        $amount = bcmul($amount,100);//支付没有分需要*100
         \Stripe\Stripe::setApiKey('你的开发密钥');//在开发者 api秘钥里查找 不是发布秘钥,发布秘钥是前端使用的
        $amount = floatval($amount);
        $charge = \Stripe\PaymentIntent::create([
            'payment_method_types' => ['alipay'],
            'amount'               => $amount,//金额
            'currency'             => 'AUD',//币种
            'description'          => $order_sn,//描述
        ]);
        return $charge;//将此值中的client_secret给前端,由前端调起支付宝支付
    }
    //微信支付 $source 前端调微信获取的资源
   public function wxpay_pay($source,$amount,$order_sn)
    {
        $amount = bcmul($amount,100);//支付没有分需要*100
         \Stripe\Stripe::setApiKey('你的开发密钥');//在开发者 api秘钥里查找 不是发布秘钥,发布秘钥是前端使用的
        $amount = floatval($amount);
        $charge = \Stripe\Charge::create([
            'amount' => $amount,
            'currency' => 'AUD',//币种
            'source' => $source,
            'description' => $order_sn,//描述
        ]);
        return $charge;
    }
    // apple pay 支付 //将此值中的client_secret给前端,由前端调起apple 支付 ,前端可能还需要配置支付证书哦
	 public function apple_pay($amount,$order_sn)
	    {
	        $amount = bcmul($amount,100);//支付没有分需要*100
	        \Stripe\Stripe::setApiKey($this->sk_key);
	        $amount = floatval($amount);
	        $charge = \Stripe\PaymentIntent::create([
	            'amount' => $amount,
	            'currency' => 'aud',//币种
	            'description' => $order_sn,//描述
	        ]);
	        return $charge;
	    }
    /**
     * Notes:退款
     */
    public function refund($refund_id,$amount){
        $amount = bcmul($amount,100); //实际退款金额没有小数点,在返回的数据里面减去
        $amount = floatval($amount);
        // Set your secret key. Remember to switch to your live secret key in production!
// See your keys here: https://dashboard.stripe.com/account/apikeys
 \Stripe\Stripe::setApiKey('你的开发密钥');//在开发者 api秘钥里查找 不是发布秘钥,发布秘钥是前端使用的
        $refund = \Stripe\Refund::create([
            'charge' => $refund_id,// 并提供要退款的ID。也就是你支付回调里面的id
            'amount' => $amount,//部分退款金额 不填写则是全部退款
        ]);
        return $refund;
    }
    
      /**
     * Notes:stripe 支付回调
     */
    function stripe_callback()
    {
        
        $data = input('param.');

        if (empty($data) ) {
            echo "error";
            die;
        }
       $object = $data['data']['object'];
       if(!$object){
           echo "error";
           die;
       }
      $amount = bcdiv($object['amount'],100);//实际金额需要除以100 才是你的支付金额
     //TODO::stripe 业务逻辑处理
      echo "success";
      die;
    }

8、附加测试数据

测试账号资料:https://stripe.com/docs/testing 在这里插入图片描述
9、付款后操作
根据自己需求,对应官方文档进行自己编写
https://stripe.com/docs/payments/after-the-payment在这里插入图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Stripe支付的Java开发可以通过Stripe提供的Java库来实现。使用Stripe Java库,可以使用Stripe的API进行支付操作。以下是Stripe支付的Java开发步骤: 1. 引入Stripe Java库:首先需要在Java项目中引入Stripe的Java库。可以通过在项目中添加Stripe依赖项来实现。具体的引入方法可以参考Stripe官方文档。 2. 设置API密钥:在进行Stripe支付之前,需要设置API密钥。可以使用Stripe.apiKey = "YOUR_API_KEY"来设置API密钥。YOUR_API_KEY是从Stripe平台获取的密钥。 3. 创建产品:使用Stripe的Product.create()方法可以创建产品。可以使用Map<String, Object>对象来设置产品的属性,例如名称和图片等。 4. 创建支付:使用Stripe的PaymentIntent.create()方法可以创建支付意图。可以使用Map<String, Object>对象来设置支付意图的属性,例如支付金额、货币、支付方式等。还可以设置自定义参数和回调地址等。 5. 处理支付结果:根据Stripe的返回结果,可以处理支付的成功或失败情况。可以使用回调函数或跳转页面来处理支付结果。 需要注意的是,以上步骤是针对Stripe Checkout支付方式的Java开发。对于其他Stripe支付方式,例如Charges API和Payment Intents API,可以根据具体的API文档进行相应的开发。 请注意,在实际开发中,还需要处理异常情况、进行错误处理和安全性控制等方面的考虑。可以参考Stripe官方文档和示例代码来进行更详细的开发实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span> #### 引用[.reference_title] - *1* *2* *3* *4* [Stripe API支付(java)多方支付](https://blog.csdn.net/YoungHK/article/details/127488551)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值