私は理解できないようなbraintreeの問題が少しあります。 APIがあるので、うまく動作するAPIを使用してclient_tokenを生成するためにbraintreeを設定することができました。 私は、それがすべて正常に動作することを確認するためにドロップインを作成することに決めました。このサービスは、ディレクティブ内で呼び出されBraintree + Angular add android payment
(function() {
'use strict';
angular.module('piiick-payment').service('paymentService', paymentService);
paymentService.$inject = ['BaseApiService', 'ApiHandler'];
function paymentService(baseApiService, apiHandler) {
var service = angular.merge(new baseApiService('payments'), {
dropIn: dropIn,
});
return service;
//////////////////////////////////////////////////
function dropIn(formId, target) {
return getClientId().then(function (response) {
var client_token = response;
braintree.setup(client_token, 'dropin', {
container: target
});
});
};
function getClientId() {
return apiHandler.get(service.apiPath + '/token');
};
};
})();
:
(function() {
'use strict';
angular.module('piiick-payment').directive('payment', payment);
function payment() {
return {
restrict: 'A',
controller: 'PaymentController',
controllerAs: 'controller',
templateUrl: 'app/payment/payment.html',
bindToController: true
};
};
})();
(function() {
'use strict';
angular.module('piiick-payment').controller('PaymentController', PaymentController);
PaymentController.$inject = ['paymentService'];
function PaymentController(paymentService) {
var self = this;
init();
//////////////////////////////////////////////////
function init() {
createDropIn()
};
function createDropIn() {
paymentService.dropIn('payment-form', 'bt-dropin');
};
};
})();
し、このためのHTMLちょうどこのようなものです:
<form id="payment-form" ng-submit="controller.checkout()" novalidate>
<div class="bt-drop-in-wrapper">
<div id="bt-dropin"></div>
</div>
<div class="form-group">
<label for="amount">Amount</label>
<input class="form-control" id="amount" name="amount" type="tel" min="1" placeholder="Amount" value="10">
</div>
<div class="form-group">
<button class="btn btn-primary" type="submit">Test Transaction</button>
</div>
</form>
<script src="https://js.braintreegateway.com/js/braintree-2.27.0.min.js"></script>
これはDROPINフォームを生成し、私はこのようにそれをやりました罰金と私は電荷を処理するためにペンパルを使用することができます。問題はできるだけシンプルにフォームを作成したいので、クライアントからリンゴペイ/アンドロイドペイを使用するように依頼されています。アップルペイを設定するにはいくつかの追加設定が必要なようですが、私はアンドロイドペイを設定しようとしていますが、ドキュメントは濁っています。
まず、アンドロイドペイメントでdropinを使用することはできますか、それとも手動で行う必要がありますか? 後者の場合、誰でもこの作業の例がありますか?私はJavaScript/jQueryでちょうどいいです。私は自分自身で変換を行うことができます。
ご協力いただければ幸いです。
ご返信ありがとうございます。ですから、私たちのAPIには.netを、フロントエンドにはangularJSを使用しているので、ApplePayまたはAndroidPayを現在使用できないと言っていますか? – r3plica
フロントエンドで使用する角度を使用すると、[ApplePay for Web](https://developers.braintreepayments.com/guides/apple-pay/configuration/javascript/v3)しか使用できませんが、私たちの "v3" SDKのApplePay jsコンポーネントが必要です。現在使用しているコードは、「v2」SDKのドロップインUIで、一部の場所で「v3」と競合します。通常、同じチェックアウトページで両方を使用することはお勧めしません。 ただし、AndroidPayはネイティブアプリでのみサポートされており、現時点でApplePayのような「Web用」コンポーネントはありません。 –