web-dev-qa-db-ja.com

誰かがネイティブのiPhoneアプリを通じてPaypal APIを実装しましたか?

「アプリ内」にとどまる唯一の方法は、PaypalモバイルサイトのUIWebViewを提供し、そこでトランザクションを完了させることです。それ以外の場合、ユーザーはAPIキーを使用する必要があります。

これは正しく聞こえますか、そして誰かがサンプルコードを入手または見ましたか?これは一般的なコードであると考えなければなりません。

更新:Appleこれを許可しますか?これは慈善アプリですので、問題はないと想定しています。

再更新:私は間違っていると思いました。 Appleでは、Paypalを使用してアプリ内で直接支払いを行うことはできません。Webインターフェースにリダイレクトする必要があります。

36
Corey Floyd

再更新:以下で回答するように、このコードは物理的な商品の購入に役立つ場合があります


更新:

このコードは機能しますが、App Storeの規約により、アプリ内でこのコードを使用することはできません。


元の答え:

いくつかの重いAPI調査の結果、これを理解しました。以下は、HTTP POSTを作成してPaypalに送信し、NSURLRequestを作成するメソッドです。適切な文字列形式の変数を入力できます。私は HTTP Client を使用して確認しました私がやっていたこと。

- (void)sendPayPalRequestPOST{

perfomingSetMobileCheckout=YES;
recordResults = FALSE;

NSString *parameterString = [NSString stringWithFormat:@"USER=%@&PWD=%@&SIGNATURE=%@&VERSION=57.0&METHOD=SetMobileCheckout&AMT=%.2f&CURRENCYCODE=USD&DESC=%@&RETURNURL=%@", userName, password, signature, self.donationAmount, @"Some Charge", returnCallURL];

NSLog(parameterString);

NSURL *url = [NSURL URLWithString:paypalUrlNVP];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
NSString *msgLength = [NSString stringWithFormat:@"%d", [parameterString length]];

[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody: [parameterString dataUsingEncoding:NSUTF8StringEncoding]];


NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];

if( theConnection ){
    webData = [[NSMutableData data] retain];
    [self displayConnectingView];

}else{
    NSLog(@"theConnection is NULL");
}
}

この後、応答を解析し、セッションキーを取得してUIWebViewを作成し、モバイルPaypalサイトに移動する必要があります。 Paypalでは、「戻りURL」を指定して、好きなように作成できます。このアドレスのデリゲートメソッドでUIWebviewをチェックし続けるだけで、トランザクションが完了したことがわかります。

次に、もう1つのHTTPポスト(上記と同様)をPaypalに送信して、トランザクションを完了します。 Paypal Mobile Checkout APIドキュメントでAPI情報を見つけることができます。

23
Corey Floyd

このリンクをたどってみてください。私はそれがあなたを助けると信じています。

理解するのはとても簡単です。リンクは非常にシンプルなフローと簡単な変数名を持っています

http://helpmesolve.blogspot.com/

3

Appleは、物理的な購入に対してカスタムチェックアウトを許可します。私はロンドンでのiPhone Tech Talksで彼らと話しました、彼らは払い戻しなどに対処する必要があるので、In App Purchaseでの物理的な購入をサポートしないと彼らは言いました。彼らはまた、カスタムチェックアウトを持っている既存のアプリを参照しました。

3
Chris Milne

Appleアプリ内で慈善寄付を許可することについて誤ったと思います "と言った場合、さらに情報を提供できますか?私はアプリに取り組んでおり、慈善寄付を許可する要件があります。私はAppleからそれを厳密に禁止することから何かを見つけることができませんでしたが、慈善寄付をストアで許可するアプリを見つけることもできませんでした。

(私はこれを新しいトップレベルの質問としてではなく、ここに投稿するかどうかに苦労しましたが、あなたは私がiPhoneアプリの質問内の慈善寄付について直接知識を得た最初の人物です)。

1
Bob Rasmussen

ニーズの複雑さに応じて、 PaypalのiOS SDK (2013年3月にリリース)がチケットになる場合があります。

1
Brent

Paypalのモバイル決済ライブラリを使用することはできませんか?

https://www.x.com/community/ppx/xspaces/mobile/mep?view=overview

1
Vivian Spencer