如何从代码中批准Paypal自适应预批准付款

时间:2016-07-26 20:08:19

标签: .net testing paypal integration-testing paypal-adaptive-payments

我正在研究我们的PayPal与集成测试的集成,以验证所有付款流程是否正常。

我们目前支持Stripe和Paypal作为支付提供商。 使用Stripe,可以通过api生成支付令牌等,从而“模拟”端到端支付方案。

我正在考虑使用Paypal自适应支付(预批准流程),但我似乎无法通过其API找到任何“批准”我的预批准令牌的资源。

即使我将发件人分配给预先批准请求,我也有权代表他们收取费用(第三方“AUTH_CAPTURE”)。

任何可以帮助我指出完全自动化测试paypal付款流程的方向的人。 必须手动登录并批准每个测试的每个密钥都不是一个可扩展的解决方案:(

我已经完成了所需功能的实现,但我想完全自动化集成测试。

我想在我的测试用例中实现的目标:

[Test]
public void _Test(){
    s.AuthorizePayment(booking);
    s.ApprovePaymentTokenInTest(booking.PaymentToken); <----
    s.CapturePayment(booking).Should().BeTrue();
}

public void AuthorizePayment(Booking booking){
    ...
    preapproveRequest.senderEmail = TestSenderEmail;

    AdaptivePaymentsService adaptivePaymentsService = new AdaptivePaymentsService(configurationMap);
    PreapprovalResponse preapprovalResponse = adaptivePaymentsService.Preapproval(preapproveRequest);
    ...
}


public bool CapturePayment(Booking booking){
    ...
    pr.preapprovalKey = booking.PaymentToken;
    PayResponse payResponse = adaptivePaymentsService.Pay(pr);
    ...     

    return payResponse.paymentExecStatus == PayPalPaymentState.Completed;
}   

1 个答案:

答案 0 :(得分:0)

您可以查看PayPal的Preapproval API操作的官方页面。它也是沙箱环境的示例代码。 https://developer.paypal.com/docs/classic/api/adaptive-payments/Preapproval_API_Operation/