I was facing same issues using Mobile Payment Library(MPL) where i can able to integrate chain payment but payment transfer immediately on secondly user without delay or approvement.
So i tried following method and its works. Now payment will transfer to primary user and when i want then its transfer to secondary user.
First create transaction with all parameter like amount,receipts etc and get PAY_KEY for the transaction from backend (PHP,JAVA,RUBY or any) with the help of reference paypal link :- Step 2 : https://devtools-paypal.com/guide/ap_chained_payment/php?success=true
Then with paykey we can make payment only in webview so Open UIWebView in ViewController with following URL
NSString *strURL = [NSString stringWithFormat:@"https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay?paykey=%@&expType=mini",@"[PAY_KEY]"];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:strURL]];
[webView loadRequest:strURL];
Web view Delegate Method
#pragma mark - UIWebView Delegate
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:UIWebViewNavigationType)navigationType
{
if([[request.URL absoluteString] isEqualToString:@"https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/closewindow"])
{
[self validatePayment];
return YES;
}
return YES;
}
- (void)webViewDidStartLoad:(UIWebView *)webView
{
if (!actView.isAnimating) {
[actView startAnimating];
}
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
[actView stopAnimating];
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
[actView stopAnimating];
}
The finally on close the popup you can validate payment with the PAYKEY
from backend by step 4 in https://devtools-paypal.com/guide/ap_chained_payment/php?success=true
I was facing same issues using Mobile Payment Library(MPL) where i can able to integrate chain payment but payment transfer immediately on secondly user without delay or approvement.
I have discuss with PayPal support team and they told me that Delay chain payment is not still supported by Mobile Payment Library (MPL).
So i tried following method and its works. Now payment will transfer to primary user and when i want then its transfer to secondary user.
For android you can use similar functionality of webview
First create transaction with all parameter like amount,receipts etc and get PAY_KEY for the transaction from backend (PHP,JAVA,RUBY or any) with the help of reference paypal link :- Step 2 : https://devtools-paypal.com/guide/ap_chained_payment/php?success=true
Then with paykey we can make payment only in webview so Open UIWebView in ViewController with following URL
NSString *strURL = [NSString stringWithFormat:@"https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay?paykey=%@&expType=mini",@"[PAY_KEY]"];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:strURL]];
[webView loadRequest:strURL];
Web view Delegate Method
#pragma mark - UIWebView Delegate
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:UIWebViewNavigationType)navigationType
{
if([[request.URL absoluteString] isEqualToString:@"https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/closewindow"])
{
[self validatePayment];
return YES;
}
return YES;
}
- (void)webViewDidStartLoad:(UIWebView *)webView
{
if (!actView.isAnimating) {
[actView startAnimating];
}
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
[actView stopAnimating];
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
[actView stopAnimating];
}
The finally on close the popup you can validate payment with the PAYKEY
from backend by step 4 in https://devtools-paypal.com/guide/ap_chained_payment/php?success=true