• stripe支付-关于微信小程序


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 Java > 2024-06-19 16:54 采纳率: 0% 浏览 1 首页/ 小程序 / stripe支付-关于微信小程序 微信小程序java18 stripe支付-关于微信小程序微信小程序中使用stripe支付问题:在微信小程序中前端无法导入stripe.js 所以无法生成token(支付令牌),那么需要把支付信息(例如:信用卡号 cvc 等数据传入后端) 后端调用stripe的官方文档去生成、 正因为如此后端在调用createToken的时候报错(错误信息:Sending credit card numbers directly to the Stripe API is generally unsafe. We suggest you use test tokens that map to the test card you are using, see https://stripe.com/docs/testing. To enable raw card data APIs in test mode, see https://support.stripe.com/questions/enabling-access-to-raw-card-data-apis.; request-id: req_1uLg96s3qpBDBe)、 我想咨询一下如何去创建token-后端JAVA 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    1条回答 默认 最新

    • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-19 16:54
      关注

      引自免费微信小程序:皆我百晓生

      在微信小程序中集成Stripe支付确实需要一些特殊处理,因为直接从前端发送敏感的信用卡信息到Stripe API是不安全且不推荐的做法。Stripe建议使用客户端库(如stripe.js)来安全地收集并验证信用卡信息,但在微信小程序环境中,由于其限制,这变得不可行。

      为了解决这个问题,可以采用一种称为“服务器端代收”的方法。这意味着你需要在后端服务器上设置一个代理,用于接收来自微信小程序的支付信息,并通过这个代理与Stripe API交互。这样,敏感的信用卡信息不会暴露给前端环境,同时也能满足Stripe的安全要求。

      后端Java实现方案

      首先,确保你的Stripe账户已经开启了“Raw Card Data API”权限,这是允许你从服务器端直接提交信用卡信息的必要步骤。你可以在Stripe的支持中心找到如何开启这一权限的信息:Enabling Access to Raw Card Data APIs

      接下来,你需要在你的Java后端项目中集成Stripe SDK。以下是一个基本的示例,展示如何在Java后端创建一个支付令牌:

      import com.stripe.Stripe;
      import com.stripe.exception.StripeException;
      import com.stripe.model.Token;
      
      public class StripeTokenCreator {
      
          public static void main(String[] args) {
              // 设置Stripe的API密钥
              Stripe.apiKey = "sk_test_YourSecretKey";
      
              try {
                  // 创建支付令牌
                  Token token = Token.create(
                      new TokenCreateParams.Builder()
                          .setCard(
                              new TokenCreateParams.Card.Builder()
                                  .setNumber("4242424242424242")
                                  .setExpMonth(12)
                                  .setExpYear(2024)
                                  .setCvc("123")
                                  .build()
                          )
                          .build()
                  );
      
                  System.out.println(token.getId());
              } catch (StripeException e) {
                  System.err.println(e.getMessage());
              }
          }
      }
      

      这段代码展示了如何在后端创建一个Stripe支付令牌。你需要将sk_test_YourSecretKey替换为你的Stripe Secret Key。此外,你应该使用实际的信用卡信息替换"4242424242424242"等测试数据。

      微信小程序端

      在微信小程序中,你将收集用户输入的支付信息,并将这些信息发送到你的后端服务器。这通常可以通过一个简单的POST请求实现,其中包含信用卡号、过期日期、CVC等信息。

      // 假设你已经收集了信用卡信息
      const paymentInfo = {
        number: '4242424242424242',
        exp_month: '12',
        exp_year: '2024',
        cvc: '123'
      };
      
      // 发送支付信息到后端
      wx.request({
        url: 'https://your-backend-server.com/create-token', // 替换为你的后端URL
        method: 'POST',
        data: paymentInfo,
        success(res) {
          const tokenId = res.data.id; // 从响应中获取tokenId
          // 使用tokenId继续支付流程...
        },
        fail(err) {
          console.error('Error creating token:', err);
        }
      });
      

      注意事项

      • 确保你的后端API对信用卡信息进行了适当的加密和保护,避免泄露。
      • 在生产环境中,一定要使用真实的Stripe Secret Key,并确保你的服务器安全,防止未授权访问。
      • 测试时,使用Stripe提供的测试卡号和环境,避免产生真实交易。

      以上就是如何在微信小程序中通过后端创建Stripe支付令牌的详细步骤。遵循这些指导,你应该能够成功地集成Stripe支付。

      展开全部

      评论 编辑记录
      编辑
      预览

      报告相同问题?

    • 相关阅读:
      jvm知识点总结(二)
      七天.NET 8操作SQLite入门到实战 - 第五天引入SQLite-net ORM并封装常用方法
      第4章 进程同步
      基于树莓派的安保巡逻机器人--(一、快速人脸录入与精准人脸识别)
      慈恩寺
      Digger PRO - Voxel enhanced terrains
      1.1 redis介绍
      Vue精美简洁登录页
      Raspberry Pi 4B树莓派学习笔记
      Java 获得applet参数学习笔记
    • 原文地址:https://ask.csdn.net/questions/8121144