2016-09-05 19 views
1

私はちょうどApple Payで始まり、販売者IDとCSRを設定しました。私はセットアップを正しく行ったと信じていますが、Apple Pay View Controllerのプロンプトで私のプログラムがクラッシュして:支払い要求が無効

2016-09-05 00:29:47.244 MoneySender[876:325291] Payment request is invalid: check your entitlements 

2016-09-05 00:29:47.259 MoneySender[876:325264] Connection to remote alert view service failed 

マイコード:

let request = PKPaymentRequest() 

    let SupportedPaymentNetworks = [PKPaymentNetworkVisa, PKPaymentNetworkMasterCard, PKPaymentNetworkAmex] 
    let ApplePayMerchantID = "myMerchantID" 
    request.merchantIdentifier = ApplePayMerchantID 
    request.supportedNetworks = SupportedPaymentNetworks 
    request.merchantCapabilities = PKMerchantCapability.Capability3DS 
    request.countryCode = "US" 
    request.currencyCode = "USD" 
    let contact = PKContact() 
    let nc = NSPersonNameComponents() 
    nc.familyName = "myName" 
    nc.givenName = "myNamw" 
    nc.middleName = "myName" 
    var phoneNumber = CNPhoneNumber() 
    phoneNumber = CNPhoneNumber(stringValue: "myNumber") 
    contact.emailAddress = "myEmail" 
    contact.name = nc 
    let postalAddress = CNMutablePostalAddress() 
    postalAddress.city = "myCity" 
    postalAddress.country = "United States of America" 
    postalAddress.postalCode = "myPostal" 
    postalAddress.state = "myState" 
    postalAddress.street = "myAddress" 

    contact.postalAddress = postalAddress 
    contact.phoneNumber = phoneNumber 
    request.billingContact = contact 
    request.paymentSummaryItems = [ 
     PKPaymentSummaryItem(label: item_description, amount: NSDecimalNumber(double: item_price)) 
    ] 

    let applePayController = PKPaymentAuthorizationViewController(paymentRequest: request) 


    self.presentViewController(applePayController, animated: true, completion: nil) 
    applePayButton.hidden = !PKPaymentAuthorizationViewController.canMakePaymentsUsingNetworks(SupportedPaymentNetworks) 

エンタイトルメントファイル:

enter image description here

+0

**機能で、プロジェクトの設定でアップルペイを有効にします**タブ –

+0

私はあなたのソリューションを得た段階で、リンクステップの下に参照してください@NazmulHasan –

+0

ました: https://www.raywenderlich.com/87300/apple-pay-tutorial –

答えて

3

ここでは、その全体が資格ファイルです:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>com.apple.developer.in-app-payments</key> 
    <array> 
     <string>my-merchant-id</string> 
    </array> 
</dict> 
</plist> 
+0

これはうまくいった。これらのエンタイトルメントは、プロビジョニング・プロファイル内のエンタイトルメントと一致しません。私はCapabilitiesタブに戻って問題はあったが、Fix Issueボタンが利用可能であると言いました。それをクリックすると、すべて正常に機能しました!ありがとう! –

関連する問題