задержанный платеж по цепочке - PullRequest
1 голос
/ 13 февраля 2012

Может кто-нибудь сказать мне, как автоматически выполнить отложенный платеж (скажем, через 5 дней после того, как основной получатель получит платеж) в режиме цепочки платежей?Ключ - автоматическое выполнение, без необходимости вручную утверждать и оплачивать вторичного получателя.Подсветите пример кода.

Я использовал «actionType» => «PAY_PRIMARY», чтобы основной получатель получал деньги.

Но как я могу кодировать, чтобы дополнительный получатель получал деньги?

Ответы [ 3 ]

2 голосов
/ 26 февраля 2012

Проверьте этот ответ для решения.В основном вам просто нужно выполнить операцию ExecutePayment с payKey в течение 90 дней, чтобы отправить платеж второму лицу.

0 голосов
/ 23 мая 2013

ну, может быть, уже слишком поздно, но это наверняка поможет кому-то в будущем.Поскольку мы интегрировали отложенный цепной платеж PayPal с задержкой, вы можете установить основной счет, на который будет поступать вся сумма, а также дополнительный счет, на который будет переведен счет, после того как он будет утвержден основным владельцем счета.* Теперь мы должны установить первичных и вторичных получателей:

    //primary account
        NVPRequest[SampleNVPConstant.Pay2.receiverListreceiveramount_0] = TotalAmount;
        NVPRequest[SampleNVPConstant.Pay2.receiverListreceiveremail_0] = "XXXx.xxxxx.com";
        NVPRequest[SampleNVPConstant.Pay2.receiverListreceiverprimary_0] = "true";
        //secondary accounts
        NVPRequest[SampleNVPConstant.Pay2.receiverListreceiveramount_1] = (somemoney out of total amount);
        NVPRequest[SampleNVPConstant.Pay2.receiverListreceiveremail_1] = "xxxxx.xxxx.com";
        NVPRequest[SampleNVPConstant.Pay2.receiverListreceiverprimary_1] = "false";
        NVPRequest[SampleNVPConstant.Pay2.receiverListreceiveramount_2] = (somemoney out of total amount);
        NVPRequest[SampleNVPConstant.Pay2.receiverListreceiveremail_2] = x.x.com;
        NVPRequest[SampleNVPConstant.Pay2.receiverListreceiverprimary_2] = "false";

Не забывайте, что вы должны предоставить действующий счет PayPal при использовании отложенного цепного платежа.Теперь вы получаете свой pay_key, который вы должны использовать для выполнения платежа в течение 90 дней, чтобы другие вторичные получатели получали деньги.Вот рабочий код:

    String endpoint = Constants_Common.endpoint + "ExecutePayment";
    NVPHelper NVPRequest = new NVPHelper();
    //requestEnvelope.errorLanguage is common for all the request
    NVPRequest[SampleNVPConstant.requestEnvelopeerrorLanguage] = "en_US";
    NVPRequest[SampleNVPConstant.ExecutePayment.payKey] = "your pay key";
    string strrequestforNvp = NVPRequest.Encode();
    //calling Call method where actuall API call is made, NVP string, header value adne  end point are passed as the input.
    CallerServices_NVP CallerServices = new CallerServices_NVP();
    string stresponsenvp = CallerServices.Call(strrequestforNvp, Constants_Common.headers(), endpoint);
    //Response is send to Decoder method where it is decoded to readable hash table
    NVPHelper decoder = new NVPHelper();
    decoder.Decode(stresponsenvp);
    if (decoder != null && decoder["responseEnvelope.ack"].Equals("Success") && decoder["paymentExecStatus"].Equals("COMPLETED"))
    {
    //do something
    }

Надеюсь, это кому-нибудь поможет.

0 голосов
/ 15 февраля 2012

actionType is PAY_PPRIMARY Затем вы инициируете этот платеж в течение 90 дней. Это задерживается, но не по прошествии времени.

https://cms.paypal.com/cms_content/US/en_US/files/developer/PP_AdaptivePayments.pdf

...