Php 支付意向问题

Php 支付意向问题,php,stripe-payments,Php,Stripe Payments,我正在WordPress中为客户开发一个小型在线市场,我正在使用Stripe Connect。我正在努力实现的是: 用户A正在发布一个项目,用户B对此项目进行投标,获得接受并交付工作 用户A现在必须为交付物支付约定的金额 用户A获得卡费,平台帐户获得申请费,Stripe获得Stripe费用,用户B获得剩余金额 我已创建了以下功能,其中包含支付意图、目的地费用和申请金额费用,如下所述: 因此,如果我正确理解了文档和概念,当用户A触发上述功能时,用户A的卡将收取10美元的费用,应用程序将收取1.23

我正在WordPress中为客户开发一个小型在线市场,我正在使用Stripe Connect。我正在努力实现的是:

  • 用户A正在发布一个项目,用户B对此项目进行投标,获得接受并交付工作
  • 用户A现在必须为交付物支付约定的金额
  • 用户A获得卡费,平台帐户获得申请费,Stripe获得Stripe费用,用户B获得剩余金额
  • 我已创建了以下功能,其中包含支付意图、目的地费用和申请金额费用,如下所述:

    因此,如果我正确理解了文档和概念,当用户A触发上述功能时,用户A的卡将收取10美元的费用,应用程序将收取1.23美元的费用,用户B将获得剩余金额。Stripe从应用程序中扣除其服务费。虽然我不会从表单中收取任何费用,因为用户a是一个已验证的已连接帐户,其卡的详细信息已在Stripe Connect中

    不幸的是,情况并非如此,即使我尝试将费用与转账分开,如这里所述:,它也不起作用

    Stripe Connect适用于美国企业,美元货币。我正在测试环境中使用Express帐户。 旁注:我已经尝试使用充值来添加测试资金和创建余额,但由于某些原因,“添加到余额”按钮不可用

    我错过了什么?目的地收费是我努力实现的正确选择吗

    任何建议都会有帮助


    谢谢。

    您可以尝试使用
    条带帐户
    标题。通过使用此选项,您只需代表连接的帐户发出请求。付款将自动记入关联账户

    $payment_intent = \Stripe\PaymentIntent::create([
        'payment_method_types' => ['card'],
        'amount' => 1000,
        'currency' => 'usd',
        'application_fee_amount' => 123,
      ], ['stripe-account' => 'acct_UserB']);
    }
    
    \Stripe\PaymentIntent::confirm(
        $payment_intent->id,
        ['payment_method' => 'pm_card_visa']
    );
    

    你能不能先把钱转移到你的个人银行账户上,然后如果客户接受订单,就向卖家付款,否则就退款给客户?你的意思是像从用户a转账到平台账户,然后从平台账户转账到用户B?是的,类似这样的事情,所以你会选择a的一部分这里描述了“中间点”,在他们决定给你做什么之前,你暂时将钱存入这里。不幸的是,这不起作用。它抛出了一个错误“无法将'destination'参数设置为你自己的帐户”“。这意味着您不能将平台帐户ID指定为转账的目的地。只要
    acct\u UserB
    是连接到您的“平台”帐户的不同帐户ID,这似乎就可以了。你能详细说明你看到的错误吗?您还需要使用Stripe.confirmCardPayment在Stripe.js元素中传递,使用Stripe.js确认PaymentIntent客户端。目的地费用似乎可以。是不是余额还没有呢?(有跳过等待期的测试卡)谢谢您的回复。这抛出了以下错误:“仅当PaymentIntent尝试直接付款(使用OAuth密钥或条带帐户头)或目标付款(使用
    传输数据[目的地]
    )时,才能应用应用程序费用金额。”它应按此处所述工作:。您是否将
    条带帐户
    标题添加为第二个参数?您好,Kim。因此,根据您的建议,在联系Stripe支持后,我通过使用您在上面提供的文档链接中所述的单独费用和转账解决了此问题。因此,基本上帐户A不必是一个连接帐户,相反,它可以只是一个客户。付款意图“创建”和“确认”在转账将金额发送到帐户B时收费。感谢您的帮助@vsapountzis很乐意帮忙!
    $payment_intent = \Stripe\PaymentIntent::create([
        'payment_method_types' => ['card'],
        'amount' => 1000,
        'currency' => 'usd',
        'application_fee_amount' => 123,
      ], ['stripe-account' => 'acct_UserB']);
    }
    
    \Stripe\PaymentIntent::confirm(
        $payment_intent->id,
        ['payment_method' => 'pm_card_visa']
    );