Php Paypal定期付款和更新计费周期
我使用的是Php Paypal定期付款和更新计费周期,php,laravel,paypal,Php,Laravel,Paypal,我使用的是Laravel4.2。我正在做一个提供视频服务的项目。要求将PayPal支付网关与定期模式集成 虽然我曾多次使用贝宝经典API创建循环配置文件,但我几乎实现了我的目标。但我不幸地不知道,您不能在已经创建的定期概要文件中更新计费周期的日期 现在我感到无助 我有一个为用户提供视频服务的项目。其基本思想是,在注册时,用户选择订阅计划并插入信用卡详细信息。由于是按月订阅,因此每月应自动续费 在此期间,如果用户升级了更高的计划,则将向他收取本月新订阅金额和当前活动订阅金额的差额,并且他的计费周期
Laravel4.2
。我正在做一个提供视频服务的项目。要求将PayPal
支付网关与定期模式集成
虽然我曾多次使用贝宝经典API创建循环配置文件
,但我几乎实现了我的目标。但我不幸地不知道,您不能在已经创建的定期概要文件中更新计费周期的日期
现在我感到无助
我有一个为用户提供视频服务的项目。其基本思想是,在注册时,用户选择订阅计划并插入信用卡
详细信息。由于是按月订阅,因此每月应自动续费
在此期间,如果用户升级了更高的计划,则将向他收取本月新订阅金额和当前活动订阅金额的差额,并且他的计费周期必须从今天更新到下个月
例如,有三种类型的认购计划,如下所示:
Basic for $10/month,
Economy for $20/month and
Premium for $30/month
如果用户在5月1日
订阅了10美元
的基本计划
,则其计费周期将设置为从5月1日到6月1日
,依此类推。每个月他将被自动收取10美元的费用,直到他取消订阅或停止重复他的个人资料
现在,在5月5日之间,他将他的计划升级为经济计划(提供更多视频),实际金额为20美元,他将被收取当月差额20-10美元的费用(即5月),他的计费周期
将从现在的5月5日设置到6月5日
,从6月5日开始,他将每月自动收取20美元的费用
此外,在第一次订阅时,应要求用户仅插入一次信用卡详细信息,之后,对于任何升级或重复使用,应而不是要求用户插入信用卡
所有这些过程应该只在我的网站上完成,用户不应该被重定向到贝宝网站
有人知道如何做到这一点吗?这包括两个部分:Paypal和计费逻辑
Paypal允许用户预先授权公司从Paypal中扣除任意金额。暴雪和MyUS.com就是这方面的两个例子。用户一次性授权0.00美元,然后网站可以使用相同的授权收取任何金额的费用-请考虑改用该授权。我不太清楚这个功能到底叫什么
编辑:它被称为计费协议(/Reference Transactions)
在计费逻辑方面,当您在周期中升级用户时,不要更改周期日期。如果他们在1月1日注册,则继续在每月1日向他们开具账单。相反,如果用户升级,请执行以下操作:
更新网站上的账单配置文件,以便在下一个付款周期收取更高的金额
立即按比例向用户收取费用,以弥补差额
在你的例子中:我在2015年5月1日注册了每月10美元的服务。5月5日,即订阅4天后,我决定升级到每月20美元。现在你做这两件事。将我的个人资料设置为在2015年6月1日扣除20美元,然后计算升级的按比例金额:
该计费周期还剩26天,占整个周期的83.8%。立即向我收取8.38美元(10美元差价*0.838),以获得下一定价层的全部好处。如果我在本月晚些时候升级,比如说在15日,我将进入50%的周期。如果我在30日升级,计费周期将剩下1天(3.2%),按比例收费将为0.32美元
如果我在2月5日再次下调信用评级,情况将相反。在3月1日将我的账单档案更改为向我收取10美元,然后计算出按比例的折扣。我在28天的周期中进入了4天,因此我需要在剩余的周期(24天)中退款,这是85.7%,因此我立即从我的帐户中获得8.57美元的信用,并且在3月1日只收取1.43美元
如果我等到2月27日才将信用评级下调至10美元/月,那么这个周期只剩下3.5%的剩余时间,我的账户只会获得0.35美元的信用额度。如果我在2月5日再次下调信用评级,情况正好相反。在3月1日将我的账单档案更改为向我收取10美元,然后计算出按比例的折扣。我在28天的周期中进入了4天,因此我需要在剩余的周期(24天)中退款,这是85.7%,因此我立即从我的帐户中获得8.57美元的信用,并且在3月1日只收取1.43美元
如果我等到2月27日才将信用评级下调至10美元/月,那么这个周期只剩下3.5%的时间,我的账户只能获得0.35美元的信用。必须是贝宝吗?Laravels出纳使用Stripe完成所有这些@MichaelN它自己把信用卡信息存储在里面吗?根据要求,我不能存储任何客户的信用卡信息。此外,它还支持重复性功能和更新计费周期,而无需再次询问信用卡信息进行任何操作?根据strip api链接,有一条语句“更新计划名称。其他计划细节(价格、间隔等)在设计上是不可编辑的”。这是什么意思?一旦设计完成,我是否就无法更新周期?PayPal gateway是否有专家?谢谢。但是我已经开始使用Stripe而不是PayPal,因为PayPal有很多限制要遵循。Stipe工作得更好。感谢您的解释,但是PayPal不允许在没有用户界面的情况下直接收费,正如您在步骤2中所说的。因此,当用户打开选定的订阅计划时,您不能将该金额与订阅金额一起添加。你知道如何在不收费的情况下收费吗