2016-08-15 4 views
0

私はrequestPaymentIntentを実装しようとしていました。最初はうまくいっていましたが、ある時点でBing検索を開始しましたが、ある時点では間違いを見つけてそれ以降は何もしないと言っていました。これは、トピックでも指摘されています。支払いドメインの意図は、Sirikitを使用して意図的なUIや意図の確認の代わりにインターネットの結果を示しています。支払いの意思Sirikitはまだ動作していません

ウィリアム・ヒンデンブルクは「INSendPaymentIntentResponseにpaymentRecordを追加してから、Payment Intent Handlerのconfirmメソッドとhandleメソッドから返す前に、それを追加する必要があることを知りました。それがあなたのためにそれを修正するかどうかを確認してください。

私はこれをやろうとしましたが、わかりません。主にステータスの定義に問題があります。

私のハンドルメソッドでは、まずuserActivityを定義します。次に、応答オブジェクトを初期化します。

let response = INRequestPaymentIntentResponse (code: .success, userActivity: userActivity) 

それから私は、レスポンスオブジェクトにpaymentRecordを追加したい:

response.paymentRecord = INPaymentRecord(payee: nil, payer: nil, currencyAmount: intent.currencyAmount, paymentMethod: nil, note: intent.note, status: ???) 

私は/使用を必要としないので、私はゼロで満たされたいくつかのパラメータを設定します。私がアプリで持っていたい2つのもの、支払う必要のある金額、これを支払う必要があるもの(注釈)。 ???の代わりに???私はステータスを記入しなければならない、私はいくつかのことを試みたが、私はそれを把握することはできません。複数の人がすでにこれを手に入れているので、この仕組みを説明するのを手伝ってもらえますか?どうもありがとう!

答えて

0

Appleは実際にどのステータスを確認に使用するのかを指定していませんが、これは現在私にとってはうまくいきます。

確認コール:

response.paymentRecord = [self makePaymentRecordForIntent:intent withStatus:INPaymentStatusPending]; 

送信コール:

intentResponse.paymentRecord = [self makePaymentRecordForIntent:intent withStatus:INPaymentStatusCompleted]; 

Genericizedコード:

-(INPaymentRecord *)makePaymentRecordForIntent:(INSendPaymentIntent *)intent withStatus:(INPaymentStatus)status { 

INPaymentMethod *payMethod = [[INPaymentMethod alloc] initWithType:INPaymentMethodTypeChecking 
                   name:@"Gold Star Checking" 
               identificationHint:@"1234" 
                   icon:nil]; 

INPersonHandle *senderHandle = [[INPersonHandle alloc] initWithValue:@"[email protected]" type:INPersonHandleTypeEmailAddress]; 
NSPersonNameComponents *senderNameComp = [[NSPersonNameComponents alloc] init]; 
senderNameComp.givenName = @"First"; 
senderNameComp.familyName = @"Last"; 
INPerson *senderPerson = [[INPerson alloc] initWithPersonHandle:senderHandle 
              nameComponents:senderNameComp 
               displayName:@"First Last" 
                image:nil 
             contactIdentifier:nil 
             customIdentifier:nil]; 

INPaymentRecord *paymentRecord = [[INPaymentRecord alloc] initWithPayee:intent.payee 
                    payer:senderPerson 
               currencyAmount:intent.currencyAmount 
                paymentMethod:payMethod 
                  note:intent.note 
                 status:status]; 
return paymentRecord; 

}

+0

はまだ私のために動作しません。シリはちょうど彼女の「ああ、 – cyril

関連する問題