Paypal zapewnia easy way to integrate its express checkout solution, ale jakie jest najlepsze rozwiązanie, aby użyć tego rozwiązania w projekcie angular2 pracującym na maszynopisie?Jak zintegrować ekspresowe zamówienie PayPal z projektem skryptu kątowego 2?
Odpowiedz
Ostatnio odpowiedziałem na podobne pytanie (how to write the below code in angular 2 component using typescript) i napisałem prosty komponent zawierający przycisk paypal.
Rozszerzyłem mój przykład o właściwości kosztu wejściowego, aby można było przesłać koszt do składnika przycisku. Możesz w łatwy sposób rozszerzyć to i przekazać więcej danych w razie potrzeby.
Jak powiedział Aluan Haddad w komentarzu, można zawrzeć PayPal w usłudze globalnej. Pisałem prostą obsługę opakowywania właściwość Przycisk z niektórych definicji Typ:
export class PaypalService {
constructor() { }
// You can bind do paypal's button with type definitions in the following way:
public Button: {
render: ({ payment, onAuthorize }: {
payment?: (data: any, actions: any) => void,
onAuthorize?: (data: any, actions: any) => void
}, divId: string) => void
} = (window as any).paypal.Button;
}
przykład Praca znajduje się w: https://plnkr.co/edit/9AlbWnZDzek9kDdigdED
nie jestem pewien o wewnętrzne funkcjonowanie przycisku PayPal, ale to powinno dać początek, mam nadzieję, że to pomaga.
można zaimplementować paypal kasę z kątowym 4 tak:
import { Component, OnInit } from '@angular/core';
declare let paypal: any;
@Component({
selector: 'app-page-offers',
templateUrl: './page-offers.component.html',
styleUrls: ['./page-offers.component.sass']
})
export class PageOffersComponent implements OnInit {
constructor() {}
ngOnInit() {
$.getScript('https://www.paypalobjects.com/api/checkout.js', function() {
paypal.Button.render({
[...]
})
[...]
Enjoy :)
Użyłem takiego rozwiązania:
metoda ładowania zewnętrznych skryptów
private loadExternalScript(scriptUrl: string) {
return new Promise((resolve, reject) => {
const scriptElement = document.createElement('script')
scriptElement.src = scriptUrl
scriptElement.onload = resolve
document.body.appendChild(scriptElement)
})
Kod Komponent
ngAfterViewInit(): void {
this.loadExternalScript("https://www.paypalobjects.com/api/checkout.js").then(() => {
paypal.Button.render({
env: 'sandbox',
client: {
production: '',
sandbox: ''
},
commit: true,
payment: function (data, actions) {
return actions.payment.create({
payment: {
transactions: [
{
amount: { total: '1.00', currency: 'USD' }
}
]
}
})
},
onAuthorize: function(data, actions) {
return actions.payment.execute().then(function(payment) {
// TODO
})
}
}, '#paypal-button');
});
}
Credit
Andriej Odri za odpowiedź tutaj: script tag in angular2 template/hook when template dom is loaded
Jak możesz zmienić (ustawić dinamicznie) wartość amount.total? w jaki sposób można wywołać funkcję w kontrolerze po wykonaniu wywołania onAuthorize? –
- 1. Jak zintegrować Linphone z istniejącym projektem Androida?
- 2. Jak zintegrować ASP.NET mvc z Projektem WWW
- 3. Jak zintegrować Reactatywny z istniejącym projektem iOS?
- 4. Jak zintegrować GraphView z moim projektem?
- 5. Angular 2 paypal
- 6. Jak zintegrować Linphone z istniejącym projektem (SIP w IOS)?
- 7. Jak używać kątowego 2 z sprężynowym butem
- 8. Jak używać kątowego 1.3.4 i kątowego 2 razem
- 9. Zamówienie PayPal - domyślnie zakładka karty kredytowej
- 10. Rozstrzygnięcie 2 rastra kątowego z obserwowalnym
- 11. Aktualizowanie pola kątowego 2 programowo
- 12. Przekształcanie istniejącego projektu kątowego 2 w użycie kątowego CLI
- 13. Jak zintegrować maven 2 w istniejącym projekcie netbeans?
- 14. integracja paypal z ios
- 15. Jak zintegrować restful Web Services z Struts 2
- 16. Wysyłka zmiennych POST na stronie Paypal Płatności Standardowe Zamówienie
- 17. Globalne zdarzenie zmiany stanu routera kątowego 2
- 18. Jak zintegrować Robolectric, Maven, ActionBarSherlock (a najlepiej + IntelliJ) z projektem Android?
- 19. Używanie kątowego 2 bez kompilatora maszynowego
- 20. dlaczego obiekty typu kątowego 2 dostawca {useValue: ...}?
- 21. Dodaj moment do kątowego 2 (kątowe cli)
- 22. Jak zintegrować CodeMirror z KnockoutJS?
- 23. Nie mogę do końca rozwiązać problemu z projektem Eulera # 2
- 24. Czy istnieje sposób użycia kątowego 2 bez modułu ładującego?
- 25. Jak używać materiału kątowego (https://material.angularjs.org) w aplikacjach Angular 2
- 26. Stos MEAN: routing kątowy a trasowanie ekspresowe
- 27. Integracja Paypal z aplikacją Flask
- 28. Jak zintegrować NHibernate z Lucene.Net
- 29. Jak zintegrować Ajax z Symfony2
- 30. Jak zintegrować Flot z AngularJS?
Wszystko JavaScript jest maszynopis więc nie zacząć. Integracja Angular 2 prawdopodobnie skorzysta na stworzeniu wstrzykiwalnej usługi do owijania globalnej. –