【问题标题】:Send automatically money with Paypal Adaptive payments使用 Paypal 自适应付款自动汇款
【发布时间】:2013-04-17 22:20:12
【问题描述】:

这是用户场景:

"John 在网站上有 5 个虚拟积分,他可以通过点击网站上的按钮将他的虚拟积分转换为真钱。然后网站将通过贝宝给他真钱,无论是 John有没有贝宝账户。"

我想知道是否有可能将这种情况落实到位?

当然,出于安全原因,我会在服务器端检查所有需要的数据,以便安全地进行操作。

可以在没有网站管理员任何操作的情况下实现自动化吗?

感谢您的回答!

编辑:

我找到了这篇文章:https://www.x.com/devzone/articles/using-adaptive-payments-disburse-cash-prizes-real-time-easter-eggs

我会尝试根据我的场景调整它。我今天完成整合后会更新我的帖子。

编辑 2:

一切似乎都很好,但我尝试从 www.x.com 获取应用 ID 他们在询问我是如何使用 API 的:

您好,感谢您的提交,

在我们进行审核之前,您能否说明一下您需要的 API?

  • 您能否说明您使用“隐式付款”来从您的 PayPal 帐户向您的用户付款?如果不需要,请从您提交的“应用程序使用的服务”-“自适应支付”-“基本支付”部分取消选择

  • 您还选择了 Preapprovals,这是一个需要深入审查的高级 API。这将用于与您的客户创建计费协议(如在“订阅”业务模型中)。如果需要,请填写“预先批准条款”字段,并告诉我们如何在您的网站上测试预先批准的付款流程。如果不需要,请从您提交的“应用程序使用的服务”-“自适应支付”部分取消选择。

注意:您需要单击 x.com 的“我的应用程序”部分中的应用程序名称才能展开和编辑提交表单的字段。

我该怎么办?

编辑 3:

好吧,我得到了 Paypal 的祝福,现在我可以将 API 与实时凭据一起使用! 我已取消选中 Preapprovals,一切顺利。

最后一个问题:

如何配置我的自适应付款以更改待处理付款并让供应商选择验证付款?

这是更好地了解情况的用例:

"John 想要将 5 个虚拟积分转换为 5 美元,他单击提款按钮,网络应用程序会自动将真钱发送到他的 paypal 帐户中。 Dr house 想把 100 个虚拟积分兑换成 100 美元,这个金额需要管理员的批准,这个管理员进入他的 paypal 账户并检查是否一切正常他确认付款,然后 House 博士会得到他的钱!"

我找到了这个选项:

$PayRequestFields = array(
                    'ActionType' => 'PAY', // Required. Whether the request pays the receiver or whether the request is set up to create a payment request, but not fulfill the payment until the ExecutePayment is called. Values are: PAY, CREATE, PAY_PRIMARY

如果将值 PAY 更改为值 CREATE,它不会做任何事情。

忠实地!

【问题讨论】:

    标签: paypal paypal-adaptive-payments


    【解决方案1】:

    我用这段代码让它在沙盒模式下工作,还没有尝试过:

            ServicePointManager.Expect100Continue = true;
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
    
            var request = (HttpWebRequest)WebRequest.Create("https://svcs.sandbox.paypal.com/AdaptivePayments/Pay");
            request.ContentType = "application/json";
            request.Method = "POST";
    
            request.Headers.Add("X-PAYPAL-SECURITY-USERID", apiUsername);
            request.Headers.Add("X-PAYPAL-SECURITY-PASSWORD", apiPassword);
            request.Headers.Add("X-PAYPAL-SECURITY-SIGNATURE", apiSig);
            request.Headers.Add("X-PAYPAL-APPLICATION-ID", "APP-80W284485P519543T"); // sandbox app id
            request.Headers.Add("X-PAYPAL-REQUEST-DATA-FORMAT", "JSON");
            request.Headers.Add("X-PAYPAL-RESPONSE-DATA-FORMAT", "JSON");
    
            JObject j = new JObject();
            using (var streamWriter = new StreamWriter(request.GetRequestStream()))
            {
                string json = "{  \"actionType\": \"PAY\",  \"currencyCode\": \"GBP\", \"useCredentials\": \"FALSE\",  \"senderEmail\": \"admin@example.com\",\"ipnNotificationUrl\": \"http://example.com/IPN.aspx\",    \"receiverList\": {\"receiver\": [{\"amount\": \"1.00\", \"email\": \"receiver@gmail.com\"     }]  },  \"returnUrl\": \"http://example.com/thanks.aspx\",    \"cancelUrl\": \"http://example.com/cancel.aspx\",    \"requestEnvelope\": {    \"errorLanguage\": \"en_US\",      \"detailLevel\": \"ReturnAll\"   }}";
    
    
    
                streamWriter.Write(json);
                streamWriter.Flush();
                streamWriter.Close();
            }
    
            var httpResponse = (HttpWebResponse)request.GetResponse();
            string sResult = "";
            using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
            {
                sResult = streamReader.ReadToEnd();
    
            }
    

    需要注意的几点:

    • 确保请求是有效的 JSON,并且您没有意外弄乱语法
    • 确保在请求参数上使用正确的大小写
    • 如果发布到沙盒 url,请确保您使用的是沙盒凭据
    • 在您指定的 IPN 网址中添加您的代码以检查交易(金额、收件人等)

    这会自动从您的帐户向收款人付款,无需您登录即可授权。

    【讨论】:

      【解决方案2】:

      您可以将其设置为自动化。如果您特别想使用 Adaptive Payments,您可能希望使用 Adaptive Payments Pay API 将钱汇给 John。但是,John 需要一个 PayPal 才能取款和提取资金。

      【讨论】:

      • 我并不是特意要使用自适应支付,如果有更好的方式使用贝宝来处理这种情况,我真的很开放。当我阅读文档时,没有关于如何正确执行此操作的具体说明。要放置一个贝宝按钮,没问题,我在 Marchand 帐户(专业版)中创建一个带有 ID 的按钮,将代码集成到网站中,瞧!但是对于一个用户不能点击的按钮可以自动给他一些钱的按钮,这让我很困惑!
      • 有两种方法可以向账户付款,使用 Adaptive Payments Pay API,另一种是 MassPay。自适应支付将是更好的选择。您需要做的就是创建一个使用 Adaptive Payments Pay API 的按钮,让它动态填充金额和电子邮件地址,然后将资金发送给收件人。那么你就完成了。
      • 嗨!事实上,我使用了自适应支付,它似乎运作良好!不过,我需要做进一步的测试,以确保一切正常!当我确定一切正常时,我会尽快提供所有细节。此外,我正在尝试通过 x.com 获取应用程序 ID。他们向我询问有关我如何使用 API 的详细信息。我会把问题放在编辑中。
      猜你喜欢
      • 2012-03-11
      • 2013-03-09
      • 2015-07-17
      • 2016-10-25
      • 2013-01-12
      • 2016-07-28
      • 2013-07-01
      • 2016-04-06
      • 2012-08-10
      相关资源
      最近更新 更多