标签: stripe-payments

是否可以将localhost设置为Stripe webhook URL?

我正在使用Stripe创建支付网关.

我想将我的localhost网址设置localhost/stripe/webhook.php为我的webhook网址.是否可以将localhost地址设置为webhook URL?这将用于创建在Stripe中每次成功收费时触发的邮件服务.

php webhooks stripe-payments

14
推荐指数
6
解决办法
1万
查看次数

在Laravel 4中建立SAAS的正确方法

好吧,所以大约一年前我写了一个网络应用程序,帮助组织我的爸爸公司的约会.他现在"没有它就无法开展业务".我已经决定要从中构建一个SAAS订阅模型并向公众开放.

它目前建立在codeigniter和php上,我认为它不适合SAAS版本.我计划在laravel 4中从头开始重建它并使用stripe作为支付网关.

我关心的是如何最好地处理多个客户端的数据库/应用程序结构.目前,它只服务于一个企业,并且非常抽象,并且特定于我父亲公司的需求.我需要它能够处理不同的数据,具体取决于使用它的业务.

我已经考虑过多租户,但我不确定这是否正确.我认为'gmail'风格的方法会更好.一个应用程序/域,登录后,用户将看到他们自定义的仪表板,只有他们的数据.

在我遇到编码之前,我需要弄清楚如何最好地处理一个数据库上的多个"帐户".我不想为每个用户创建一个表,也不想为每个用户创建一个数据库.

我想我的问题是,任何人都可以指出我在Laravel中如何最好地处理每月付款订阅的正确方向?这不是我要与之打交道的代码,而是我需要建立什么来处理每月向客户收费并在计费失败时拒绝他们访问.

谢谢

database saas laravel stripe-payments laravel-4

14
推荐指数
1
解决办法
5126
查看次数

如何在iOS应用中使用Stripe Connect

有没有人成功使用Stripe连接iOS应用程序.我有几个问题:

我遵循这些指南:https: //stripe.com/docs/connect/getting-started

注册应用程序:这里很简单,没问题

然后再往下走一点:

将您的用户发送到Stripe:再次,这里没问题,我只需要一个按钮,在UIWebView中打开链接.我假设URL中的client_id很好吗?我的很多不确定性是我应该在应用程序中硬编码的ID /密钥

然后再往下走一点:

在用户连接或创建Stripe帐户后,我们会将它们重定向回您在应用程序设置中使用代码参数或错误设置的redirect_uri.

我在这里做的是使用UIWebview的webView:shouldStartLoadWithReqest:navigationType委托方法来检查URL中的字符串"code =".如果它找到了,那么我就能抓住"代码"参数.所以实际上,redirect_uri对我来说完全没必要.这是处理这个问题的正确方法吗?我应该在我的应用程序内还是在我的服务器上执行此操作?

收到代码后,我们应该进行POST调用以接收access_token.再次,这应该在应用程序内还是在服务器上完成?它需要使用secret_key,所以我猜服务器?如果需要将令牌发送到服务器,如何发送信用卡信息以及此令牌?我知道如何获得卡号,exp日期和CVV.但是将它传递给服务器(有或没有令牌)是我不确定的.

然后,当涉及到在服务器上实际编写PHP,Ruby或Python代码时,我完全失去了.

任何帮助将不胜感激.

ios stripe-payments

14
推荐指数
1
解决办法
8377
查看次数

Stripe"Simple"Checkout - 检测是否单击了关闭按钮

我已将Stripe Checkout集成到我的网站中,除了一个方面外,一切都很好.我使用'简单'结帐模式,Stripe为我呈现我的结账按钮.但我认为在文档中没有办法检测用户是否点击了关闭按钮(有效取消了交易 - 见图片).

在此输入图像描述

有没有办法在'简单'模式下检测到这个(而不是自定义)?

javascript stripe-payments

14
推荐指数
3
解决办法
1万
查看次数

安全性问题在Cordova上使用Stripe checkout

我正在研究使用Stripe.js在Cordova中包含的移动Web应用程序中进行支付处理.根据Stripe文档,所有结帐页面都应通过https提供.由于Cordova在技术上将在webview中本地提供这些页面,我是否应该担心任何安全问题?

注意:我仍然会使用https将Stripe中的标记化卡详细信息提交到我的远程API服务器以实际完成收费.

security cordova stripe-payments

14
推荐指数
1
解决办法
3908
查看次数

条带计费:未选择计划且在注册时未输入信用卡的试用

我读过这篇文章Stripe - 如何处理订阅免费计划,并且在注册时不需要信用卡,并且发现它非常有帮助,但我仍然有一个问题.

我的应用程序有两个付费计划:'基本'和'专家'.注册用户选择计划,也不输入卡详细信息.基本上,用户在前14天使用通用试用计划,在此试用期结束后,用户必须选择付费计划并输入卡详细信息.

处理此试验的最佳方法是什么?我在想这些方法:

a)由于我不知道用户在试用期满后将选择哪种付费方案,我无法使用Stripe试用期功能.

来自Stripe Docs:创建计划时,您可以设置的其中一个选项是试用期将持续多长时间.如果您确实选择提供试用期,则在试用期结束之前,您注册的客户将不会首次收费.

我想创建一个名为'trial'的条纹计划,金额设置为0.00美元,试用期为14天,间隔为2周.通过这种方式,我将能够收听Stripe webhook customer.subscription.updated以确定试用版是否已过期并相应地更新数据库.我不确定这是否是一个好方法,因为它将为此试用计划生成发票(它被设置为订阅).我喜欢Stripe webhooks.有没有更好的方法呢?

b)另一种选择是只在Stripe中有付费计划并在试用期到期时创建Stripe订阅并且用户必须选择计划并输入卡详细信息.这样我就不会使用Stripe检查试用版是否过期.我将检查用户登录以确定试用版是否仍处于活动状态.

谢谢你的帮助!

payment-gateway webhooks payment-processing stripe-payments

14
推荐指数
1
解决办法
5358
查看次数

条纹使多个客户使用相同的电子邮件地址

我有条纹检查与PHP.它创造了客户并为他们收费.我想创建一个捐赠表单,如果同一个客户回来并给出相同的电子邮件地址,Stripe不会创建另一个客户,但会向现有客户收取额外付款.这可能吗?或者结账总是创建具有新客户ID的新客户?

这是我的charge.php

<?php
    require_once('config.php');

    $token  = $_POST['stripeToken'];

    if($_POST) {
      $error = NULL;

      try{
        if(!isset($_POST['stripeToken']))
          throw new Exception("The Stripe Token was not generated correctly");
            $customer = Stripe_Customer::create(array(
              'card'  => $token,
              'email' =>  $_POST['stripeEmail'],
              'description' => 'Thrive General Donor'
            ));

            $charge = Stripe_Charge::create(array(
              'customer' => $customer->id,
              'amount'   => $_POST['donationAmount'] * 100,
              'currency' => 'usd'
            ));
      }
      catch(Exception $e) {
        $eror = $e->getMessage();
      }


    }

?>
Run Code Online (Sandbox Code Playgroud)

php stripe-payments

14
推荐指数
2
解决办法
6911
查看次数

如何使用Stripe(stripe.js)和react-native

我正在尝试找到一种使用带有反应原生的条带的好方法.优选地,不涉及将信用卡详细信息发送到我自己的后端或将我的条带私钥存储在应用程序中.欢迎任何想法!谢谢

stripe-payments react-native

14
推荐指数
2
解决办法
5841
查看次数

使用 Cypress 进行测试 Stripe Checkout

我必须在 js 中调用stripe.redirectToCheckouthttps://stripe.com/docs/js/checkout/redirect_to_checkout)才能将客户带到他们的条纹结帐页面。

我想使用 cypress 来测试结帐过程,但它无法处理条带重定向,因为在stripe.redirectToCheckout导航到 Stripe 域上的页面时,cypress 框架丢失了。

我还想测试 Stripe 是否将我们重定向回成功或错误 URL。

  1. 一旦我们导航到 Stripe checkout,是否有任何方法可以强制 cypress “重新附加”到页面 - 或者 -
  2. 有什么方法可以获取 Stripe 结帐页面的 URL,以便我们可以手动重定向,或者只知道至少使用正确的参数调用了它。

我知道 cypress ( https://github.com/cypress-io/cypress/issues/1496 )的人认为测试外部站点是一种“反模式” 。但是,在这种情况下,如何测试非常标准的 Web 流程、结账(使用非常流行和标准的支付服务,我会补充)?我不认为这是一种“反模式”。这是端到端测试的一个重要步骤,Stripe专门给我们提供了一个测试沙箱来做这种事情。

javascript stripe-payments cypress stripe-checkout

14
推荐指数
1
解决办法
789
查看次数

Stripe Checkout webhook - 监听哪个事件

背景:

我已经在 React 应用程序中实现了Stripe Checkout ,以及成功侦听事件的Webhook 。

这些是成功结帐后 Webhook 听到的事件:

checkout.session.completed
charge.succeeded
payment_method.attached
customer.created
customer.updated
invoice.created
invoice.finalized
customer.subscription.created
invoice.updated
customer.subscription.updated
invoice.paid
invoice.payment_succeeded
payment_intent.succeeded
payment_intent.created
Run Code Online (Sandbox Code Playgroud)

我正在尝试做的事情:

客户成功创建订阅后,我需要将值保存到数据库中。此值有助于启用付费功能,因此我必须确保 Webhook 捕获所有成功的事件。


问题:

我是否可以始终仅依赖这些 Webhook 事件之一来指示成功?如果不是,哪些是最值得聆听的?

我认为对于我的用例来说最重要的事件可能是checkout.session.completedcharge.succeededpayment_intent.succeeded,但我不太确定这些事件有何不同,以及其中一些事件是否/何时可能不会出现。

文档表明

目前,Stripe 上有三种接受付款的方式:

  • 条纹结帐
  • 收费API
  • 支付意向API

  • checkout.session.completed:结账会话成功完成时发生。
  • charge.succeeded:充电成功时出现。
  • payment_intent.succeeded:当 PaymentIntent 成功完成付款时发生。

所以我的猜测是checkout.session.completed, 、charge.succeeded、 和中的每一个payment_intent.succeeded都表示成功,而这三个都返回的原因是它们对应于当前在 Stripe 上接受付款的三种方式。

如果是这种情况,我可以可靠地监听仅checkout.session.completed指示成功吗?


其他信息:

stripe listen --forward-to localhost:4242/myWebHook成功结帐会话后的输出:

( …

webhooks stripe-payments

14
推荐指数
1
解决办法
5635
查看次数