paypal - 客户 Payum/paypal-express-checkout-nvp 无法确认创建结算协议(protocol)

标签 paypal express-checkout recurring payum

我正在尝试使用快速结帐 (Payum/paypal-express-checkout-nvp) 创建一个循环配置文件。

Howto from Payum

private function createAgreement(Purchase $purchase)
{
    $storage = $this->payum->getStorage('Coachup\PaymentBundle\Entity\PaymentAgreement');

    $agreementDetails = $storage->createModel();
    $agreementDetails['L_BILLINGTYPE0'] = Api::BILLINGTYPE_RECURRING_PAYMENTS;
    $agreementDetails['L_BILLINGAGREEMENTDESCRIPTION0'] = 'test';
    $agreementDetails['PAYMENTREQUEST_0_AMT'] = 0;
    $agreementDetails->setPurchase($purchase);

    $storage->updateModel($agreementDetails);

    $captureToken = $this->securityTokenFactory->createCaptureToken(
        $this->paymentName,
        $agreementDetails,
        'payment_checkout_progress_payment',
        ['purchaseId' => $purchase->getId(), 'paymentType' => $this->getId()]
    );

    $agreementDetails['RETURNURL'] = $captureToken->getTargetUrl();
    $agreementDetails['CANCELURL'] = $captureToken->getTargetUrl();
    $storage->updateModel($agreementDetails);

    return $captureToken->getTargetUrl();

}

token 似乎是通过 paypal 生成的,用户被重定向到 paypal(沙盒),一旦我登录以确认协议(protocol),我就会收到一条通用错误消息(粗略翻译) “无法处理请求,请返回商店并选择其他选项”。 甚至没有错误代码...

有什么帮助吗?

最佳答案

可能是 0.00 的初始付款失败,导致无法创建计费协议(protocol)。这是一种您可以覆盖它并创建配置文件的方法。这直接来自 PayPal 文档:

默认情况下,如果初始付款金额失败,PayPal 不会激活配置文件。要覆盖此默认行为,请将 FAILEDINITAMTACTION 字段设置为 ContinueOnFailure。如果初始付款金额失败,ContinueOnFailure 指示 PayPal 将失败的付款金额添加到此定期付款配置文件的未结余额中。

如果您没有设置 FAILEDINITAMTACTION 或将其设置为 CancelOnFailure,PayPal 会创建定期付款配置文件。但是,PayPal 会将配置文件置于待处理状态,直到初始付款完成。如果初始付款结清,PayPal 会通过即时付款通知 (IPN) 通知您它已激活待定配置文件。如果付款失败,PayPal 会通过 IPN 通知您它已取消待定配置文件。

如果您使用 Express Checkout 创建配置文件,买家会收到一封电子邮件,说明 PayPal 已结清初始付款或取消待定配置文件。

如果您需要,这里是直接链接:

Recurring Billing Integration Guide

关于paypal - 客户 Payum/paypal-express-checkout-nvp 无法确认创建结算协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24433914/

相关文章:

javascript - 无法覆盖 Paypal 立即购买按钮返回网址

perl - PayPal 经典 API SetExpressCheckout 重定向给出 "transaction is invalid"

Paypal Express 结帐 - 未获取计费协议(protocol) ID

paypal - 从 WPS 切换到 Express Checkout?

PayPal 第三方购物车和 REST API

paypal - PayPal 经典 API 是否仍然有效?

paypal - 在 PayPal Express Checkout 中选择收款人

paypal - 哪个 Paypal API 用于预核准付款?

asp.net - ASP .NET 中的重复任务

c++ - 删除重复字符