Skip to content

Commit

Permalink
Merge pull request #160 from pooliestudios/paypal-v2
Browse files Browse the repository at this point in the history
paypal v2 without block support
  • Loading branch information
jvarelmann authored Dec 11, 2024
2 parents 582785c + 1a123e2 commit 69a6784
Show file tree
Hide file tree
Showing 38 changed files with 20,810 additions and 11,924 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,5 +46,5 @@ development state from the `master` branch of this repository.
3. Rename the extracted folder from `woocommerce-3-master` to `payone-woocommerce-3`
4. Move the `payone-woocommerce-3` to your WordPress plugin directory (e.g. `wp-content/plugins`)
5. Activate the plugin on your WordPress admin plugin page
6. Javascript Bundling: `yarn install` & `yarn start`
7. Build files for production: `yarn build`
6. Javascript Bundling: `npm install` & `npm start`
7. Build files for production: `npm run build`
2 changes: 1 addition & 1 deletion assets/build/blocks.asset.php
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<?php return array('dependencies' => array('wc-blocks-checkout', 'wc-blocks-registry', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => '04f1214563b74c76f714');
<?php return array('dependencies' => array('wc-blocks-checkout', 'wc-blocks-registry', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => 'bf2b5aa05d052bad880a');
2 changes: 1 addition & 1 deletion assets/build/blocks.js

Large diffs are not rendered by default.

50 changes: 28 additions & 22 deletions client/blocks/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import {registerPaymentMethod} from '@woocommerce/blocks-registry';
/* eslint-disable @typescript-eslint/no-unused-vars */

import {registerPaymentMethod, registerExpressPaymentMethod} from '@woocommerce/blocks-registry';
import AlipayPaymentMethod from './alipay';
import Bancontact from './bancontact';
import RatepayDirectDebit from './ratepay/direct-debit';
Expand All @@ -15,6 +17,8 @@ import Eps from './eps';
import Ideal from './ideal';
import Sofort from './sofort';
import Paypal from './paypal';
import PaypalV2 from './paypalv2';
import PaypalV2Express from './paypalv2/express';
import KlarnaInvoice from './klarna/invoice';
import KlarnaInstallments from './klarna/installments';
import KlarnaSofort from './klarna/sofort';
Expand All @@ -23,26 +27,28 @@ import PaylaSecuredInstallment from './payla/secured-installment';
import PaylaSecuredDirectDebit from './payla/secured-direct-debit';
import SepaDirectDebit from './sepa';

//registerPaymentMethod(AlipayPaymentMethod);
//registerPaymentMethod(Bancontact);
//registerPaymentMethod(Przelewy24);
//registerPaymentMethod(RatepayDirectDebit);
//registerPaymentMethod(RatepayOpenInvoice);
//registerPaymentMethod(RatepayInstallments);
// registerPaymentMethod(AlipayPaymentMethod);
// registerPaymentMethod(Bancontact);
// registerPaymentMethod(Przelewy24);
// registerPaymentMethod(RatepayDirectDebit);
// registerPaymentMethod(RatepayOpenInvoice);
// registerPaymentMethod(RatepayInstallments);
registerPaymentMethod(CreditCard);
//registerPaymentMethod(PrePayment);
//registerPaymentMethod(SafeInvoice);
//registerPaymentMethod(Invoice);
//registerPaymentMethod(Trustly);
//registerPaymentMethod(Paydirekt);
//registerPaymentMethod(Eps);
//registerPaymentMethod(Ideal);
//registerPaymentMethod(Sofort);
// registerPaymentMethod(PrePayment);
// registerPaymentMethod(SafeInvoice);
// registerPaymentMethod(Invoice);
// registerPaymentMethod(Trustly);
// registerPaymentMethod(Paydirekt);
// registerPaymentMethod(Eps);
// registerPaymentMethod(Ideal);
// registerPaymentMethod(Sofort);
registerPaymentMethod(Paypal);
//registerPaymentMethod(KlarnaInvoice);
//registerPaymentMethod(KlarnaInstallments);
//registerPaymentMethod(KlarnaSofort);
//registerPaymentMethod(PaylaSecuredInvoice);
//registerPaymentMethod(PaylaSecuredInstallment);
//registerPaymentMethod(PaylaSecuredDirectDebit);
//registerPaymentMethod(SepaDirectDebit);
registerPaymentMethod(PaypalV2);
registerExpressPaymentMethod(PaypalV2Express);
// registerPaymentMethod(KlarnaInvoice);
// registerPaymentMethod(KlarnaInstallments);
// registerPaymentMethod(KlarnaSofort);
// registerPaymentMethod(PaylaSecuredInvoice);
// registerPaymentMethod(PaylaSecuredInstallment);
// registerPaymentMethod(PaylaSecuredDirectDebit);
// registerPaymentMethod(SepaDirectDebit);
56 changes: 56 additions & 0 deletions client/blocks/paypalv2/express.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
import {__} from '@wordpress/i18n';
import {useEffect} from '@wordpress/element';
import {PAYONE_ASSETS_URL} from '../../constants';
import getPaymentMethodConfig from '../../services/getPaymentMethodConfig';
import AssetService from '../../services/AssetService';

const icon = `${PAYONE_ASSETS_URL}/${__('checkout-paypal-en.png', 'payone-woocommerce-3')}`;

const PayPalV2Express = () => {
const {paypalExpressConfig} = wc.wcSettings.getSetting('payone_data');

useEffect(() => {
AssetService.loadJsScript(paypalExpressConfig.jsUrl, () => {
/* global paypal */
if (typeof paypal !== 'undefined') {
paypal.Buttons({
style: {
layout: 'vertical',
color: 'gold',
shape: 'rect',
label: 'paypal',
height: 55,
},
createOrder(data, actions) {
console.log('createOrder', data, actions);
return fetch('', {
method: 'post',
}).then((res) => {
return res.text();
}).then((orderID) => {
return orderID;
});
},
onApprove(data, actions) {
console.log('onApprove', data, actions);
window.location = '';
},
}).render('#payone-paypalv2-express-button');
}
});
}, []);

return (
<div id="payone-paypalv2-express-button"></div>
);
};

export default getPaymentMethodConfig(
'payone_paypalv2_express',
__('PAYONE PayPal v2 Express', 'payone-woocommerce-3'),
icon,
<PayPalV2Express />,
{
gatewayId: 'payone_paypalv2_express',
},
);
9 changes: 9 additions & 0 deletions client/blocks/paypalv2/index.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import {__} from '@wordpress/i18n';
import {PAYONE_ASSETS_URL} from '../../constants';
import getPaymentMethodConfig from '../../services/getPaymentMethodConfig';

export default getPaymentMethodConfig(
'payone_paypalv2',
__('PAYONE PayPal v2', 'payone-woocommerce-3'),
`${PAYONE_ASSETS_URL}/icon-paypal.png`,
);
2 changes: 2 additions & 0 deletions lang/payone-woocommerce-3-de_CH.l10n.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?php
return ['project-id-version'=>'PAYONE v1.0.0','report-msgid-bugs-to'=>'Translator Name <[email protected]>','pot-creation-date'=>'2018-07-26 10:03+0200','language'=>'de_CH','language-team'=>'Deutsch (Schweiz)','plural-forms'=>'nplurals=2; plural=n != 1;','po-revision-date'=>'2024-12-11 07:40+0000','x-generator'=>'Loco https://localise.biz/','messages'=>['Activate PDF download'=>'PDF-Download aktivieren','Activated'=>'Aktiviert','Active'=>'Aktiv','Active Countries'=>'Aktive Länder','Add Shop-ID'=>'Shop-ID hinzufügen','Address'=>'Adresse','Address validation'=>'Adressvalidierung','Allow'=>'Erlauben','Allow P.O. Boxes'=>'Versand in Postfiliale erlauben','Allow Packstations'=>'Versand an Packstationen erlauben','Allow Pay Later'=>'Erlaube "Später Bezahlen"','Amazon Merchant ID'=>'Amazon Merchant ID','Amazon Pay'=>'Amazon Pay','Amazon Pay Express'=>'Amazon Pay Express','AMEX'=>'AMEX','Annual percentage rate'=>'Effektiver Jahreszins','API-Log'=>'API-Log','Attention: has to be enabled in the PAYONE account'=>'Hinweis: Muss im PAYONE-Konto freigeschaltet sein!','Austria'=>'Österreich','Authorization'=>'Autorisierung','Basket amount'=>'Warenwert','BIC'=>'BIC','Birthday'=>'Geburtstag','Button Color'=>'Farbe der Amazon Pay Schaltfläche','By placing this order, I agree to the <a href="https://legal.paylater.payone.com/en/terms-of-payment.html" target="_blank">supplementary payment terms</a> and the performance of a risk assessment for the selected payment method. I am aware of the <a href="https://legal.paylater.payone.com/en/data-protection-payments.html" target="_blank">supplementary data protection notice</a>.'=>'Mit Abschluss dieser Bestellung erkläre ich mich mit den <a href="https://legal.paylater.payone.com/de/terms-of-payment.html" target="_blank">ergänzenden Zahlungsbedingungen</a> und der Durchführung einer Risikoprüfung für die ausgewählte Zahlungsart einverstanden. Den <a href="https://legal.paylater.payone.com/de/data-protection-payments.html" target="_blank">ergänzenden Datenschutzhinweis</a> habe ich zur Kenntnis genommen.','Calculate'=>'Berechnen','Cancel checkout'=>'Bezahlvorgang abbrechen','Capture already done'=>'Belastung wurde bereits durchgeführt','Capture failed: '=>'Belastung fehlgeschlagen: ','Capture successfull'=>'Belastung erfolgreich','Card Holder'=>'Kartenbesitzer','Card number'=>'Kartennummer','Card type'=>'Kartentyp','Cardpan'=>'Kartennummer','Carte Bleue'=>'Carte Bleue','checkout-paypal-en.png'=>'checkout-paypal-de.png','China Union Pay'=>'China Union Pay','Choose'=>'Auswählen','configuration'=>'konfigurieren','Configuration of input fields'=>'Konfiguration der Eingabefelder','Connection to PAYONE API failed'=>'Verbindung zur PAYONE API fehlgeschlagen','Continue'=>'Weiter','Correct automatically'=>'Automatisch korrigieren','Countries'=>'Länder','Country (invoice address)'=>'Land (Rechnungsadresse)','Created at'=>'Erstelldatum','Credit Card'=>'Kreditkarte','Credit card brands'=>'Kreditkartenfirmen','Credit card settings'=>'Kreditkarten Einstellungen','CSS'=>'CSS','Currency'=>'Währung','Custom'=>'Eigene','Customer decides'=>'Kunde entscheidet','Customer Message'=>'Kundennachricht','CVC'=>'CVC','CVC2'=>'CVC2','DarkGray'=>'Dunkelgrau','Deactivated'=>'Deaktiviert','Debit amount must be greater than zero.'=>'Der Rückerstattungsbetrag muss größer als Null sein.','Default'=>'Standard','Default style'=>'Standard Style','Delivery address'=>'Lieferadresse','Different shipping address'=>'Abweichende Lieferadresse','Diners'=>'Diners','Direct Debit'=>'Lastschrift','direct.debit.mandate.checkbox.label'=>'Ich erteile das SEPA-Lastschriftmandat','Discount'=>'Rabatt','Discover'=>'Discover','Don\'t have a PAYONE Account yet? Click <a href="https://www.payone.com/DE-de/kampagne/ecom-testaccount" target="_blank" rel="noopener">here</a> to apply for test credentials.'=>'Sie haben noch keinen PAYONE Account? Klicken Sie <a href="https://www.payone.com/DE-de/kampagne/ecom-testaccount" target="_blank" rel="noopener">hier</a>, um Testberechtigungen zu beantragen.','Download Invoice'=>'Rechnung herunterladen','Dynamic invoice text'=>'Dynamischer Rechnungstext','Dynamic refund text'=>'Dynamischer Rückerstattungstext','Enable this payment method'=>'Diese Zahlungsmethode aktivieren','English'=>'Englisch','eps'=>'eps Überweisung','Error message'=>'Fehlermeldung','Error output'=>'Fehlerausgabe','Error output active'=>'Fehlerausgabe aktiv','Error output language'=>'Fehlerausgabe Sprache','Expire Date'=>'Gültig bis','failed'=>'fehlgeschlagen','German'=>'Deutsch','Germany'=>'Deutschland','Global Settings'=>'Globale Einstellungen','Gold'=>'Gold','Green'=>'Grün','Height'=>'Höhe','Hide details'=>'Schließe Details','IBAN'=>'IBAN','Iframe'=>'Iframe','Iframe height'=>'Iframe Höhe','Iframe width'=>'Iframe Breite','incl. one final installment'=>'zzgl. einer Abschlussrate','Interest amount'=>'Zinsbetrag','Interest rate'=>'Sollzinssatz p.a. (gebunden)','Invoice'=>'Rechnungskauf','Invoice address'=>'Rechnungsadresse','Invoice country'=>'Land (Rechnung)','Invoice has been sent'=>'Rechnung wurde verschickt','JCB'=>'JCB','Key'=>'Schlüssel','Length'=>'Länge','Light Gray'=>'Hellgrau','Link to credit information'=>'Link zu den Kreditinformationen','Live'=>'Live','Maestro'=>'Maestro','Mastercard'=>'Mastercard','Max. basket'=>'Max. Warenwert','Max. chars'=>'Max. Anzahl Zeichen','Maximum cart value'=>'Maximaler Wert des Einkaufswagens','Maximum order value'=>'Maximaler Wert der Bestellung','Merchant ID'=>'Merchant ID','Merchant-ID'=>'Merchant-ID','Method of Authorization'=>'Methode der Autorisierung','Min. basket'=>'Min. Warenwert','Minimum cart value'=>'Minimaler Wert des Einkaufswagens','Minimum order value'=>'Minimaler Wert der Bestellung','Minimum validity of card'=>'Minimale Gültigkeit der Karte in Tagen','Mode'=>'Modus','Modus'=>'Modus','monthly installments'=>'monatliche Raten','Monthly rate'=>'Ratenhöhe','No'=>'Nein','Number of monthly installments'=>'Laufzeit','Number of payments'=>'Ratenanzahl','Numeric'=>'Numerisch','On error'=>'Bei Fehler','Password'=>'Passwort','Payable in __num_installments__ installments, each __monthly_amount__'=>'Bezahlung in __num_installments__ Raten je __monthly_amount__','paydirekt'=>'paydirekt','Payment error: '=>'Fehler bei Zahlung: ','Payment failed.'=>'Zahlung fehlgeschlagen.','Payment is authorized and captured.'=>'Zahlung wurde autorisiert und belastet.','Payment is authorized by PAYONE, payment is complete.'=>'Die Zahlung ist von PAYONE autorisiert, die Zahlung ist abgeschlossen.','Payment is captured by PAYONE, payment is complete.'=>'Die Zahlung ist von PAYONE eingezogen, die Zahlung ist abgeschlossen.','Payment provider returned error'=>'Bezahldienst hat einen Fehler gemeldet','Payment received.'=>'Zahlung eingegangen.','Payment received. Customer overpaid!'=>'Bezahlung eingegangen. Kunde hat zu viel gezahlt!','Payment received. Customer underpaid!'=>'Bezahlung eingegangen. Kunde hat zu wenig gezahlt!','Payment was authorized by PAYONE, the payment is complete.'=>'Die Zahlung wurde von PAYONE autorisiert, die Zahlung ist abgeschlossen.','Payment was canceled by user'=>'Zahlung wurde vom Kunden abgebrochen','Payment was pre-authorized by PAYONE, please initiate a capture to complete the payment.'=>'Die Zahlung wurde von PAYONE vorab autorisiert. Bitte veranlassen Sie einen Zahlungseinzug, um die Zahlung abzuschließen.','PayPal'=>'PayPal','Person (only available in Germany)'=>'Person (nur in Deutschland verfügbar)','Personal calculation'=>'Persönliche Ratenberechnung','Please check this option'=>'Sie müssen diese Checkbox ankreuzen, um fortfahren zu können','Please choose a payment plan!'=>'Wählen Sie bitte eine der Varianten!','Please enter a valid IBAN!'=>'Geben Sie bitte eine gültige IBAN ein!','Please enter your birthday!'=>'Geben Sie bitte Ihren Geburtstag ein!','Please enter your phone number!'=>'Geben Sir bitte ihre Telefonnummer ein!','Portal ID'=>'Portal ID','pp.bankaccount'=>'Kontonummer','pp.bankaccountholder'=>'Zahlungsempfänger','pp.bankname'=>'Bank','pp.reference'=>'Verwendungszweck','Preauthorization'=>'Vorautorisierung & Belasten','Prepayment'=>'Vorkasse','Ratepay Direct Debit'=>'Ratepay Lastschrift','Ratepay Installments'=>'Ratepay Ratenkauf','Ratepay Open Invoice'=>'Ratepay Open Invoice','Re-Run tests'=>'Erneut testen','Received status APPOINTED from PAYONE.'=>'Der Status APPOINTED wurde von PAYONE gesendet.','Red'=>'Rot','Refund could not be processed: '=>'Rückerstattung konnte nicht bearbeitet werden: ','Request'=>'Anfrage','Response'=>'Antwort','Run tests'=>'Test starten','Running tests...'=>'Tests werden durchgeführt...','Secure Invoice'=>'Gesicherter Rechnungskauf','Secured Direct Debit'=>'Gesicherte Lastschrift','Secured Installment'=>'Gesicherter Ratenkauf','Secured Invoice'=>'Gesicherter Rechnungskauf','Select'=>'Auswahl','Select the number of payments'=>'Wählen Sie die Anzahl der Raten','Sequencenumber'=>'Sequenznummer','Servicecharge'=>'Vertragsabschlussgebühr','Shipping country'=>'Land (Lieferung)','Shop-ID'=>'Shop-ID','Shop-IDs'=>'Shop-IDs','Show details'=>'Zeige Details','Sofort'=>'Sofort Überweisung','Style'=>'Stil','Subaccount ID'=>'Subaccount ID','Submit cart'=>'Warenkorb übermitteln','successful'=>'erfolgreich','Switzerland'=>'Schweiz','Test'=>'Test','Test API settings'=>'API-Einstellungen testen','Text'=>'Text','Text input'=>'Textfeld','Text on booking statement'=>'Text auf Buchungsbeleg','The following payment methods are enabled and can be tested:'=>'Die folgenden Bezahlarten sind aktiviert und können getestet werden:','The maximum order value must not be higher than %d'=>'Der maximale Wert der Bestellung darf nicht größer als %d sein','The minimum order value must not be lower than %d'=>'Der minimale Wert der Bestellung darf nicht kleiner als %d sein','The PAYONE dunning status has changed'=>'Der PAYONE Mahnstatus hat sich geändert','The PAYONE platform has generated a receipt for this order'=>'Die PAYONE Plattform hat zu dieser Bestellung einen Beleg generiert','The PAYONE platform has registered a rebooking'=>'Die PAYONE Plattform hat eine Umbuchung registriert','This payment method is not available. Please select another.'=>'Die gewählte Zahlart steht nicht zur Verfügung. Bitte wählen Sie eine andere Bezahlmethode.','Total amount'=>'Gesamtbetrag','Transaction action'=>'Transaktion Aktion','Transaction ID'=>'Transaktion ID','Transaction Status Log'=>'Transaktion Status-Log','Type'=>'Typ','Use global settings'=>'Benutze die globalen Einstellungen','Valid month'=>'Gültiger Monat','Valid year'=>'Gültiges Jahr','Validity'=>'Gültigkeit','VAT-ID'=>'Steuernummer','VISA'=>'VISA','Waiting for payment.'=>'Auf Zahlung warten.','Width'=>'Breite','With clicking on Place Order you agree to <a href="https://www.ratepay.com/legal-payment-terms/" target="_blank" rel="noopener">Ratepay Terms of Payment</a> as well as to the performance of a <a href="https://www.ratepay.com/legal-payment-dataprivacy/" target="_blank" rel="noopener">risk check by Ratepay</a>.'=>'Mit Klicken auf Zahlungspflichtig bestellen erklären Sie sich mit den <a href="https://www.ratepay.com/legal-payment-terms/" target="_blank" rel="noopener">Ratepay Zahlungsbedingungen</a> sowie mit der Durchführung einer <a href="https://www.ratepay.com/legal-payment-dataprivacy/" target="_blank" rel="noopener">Risikoprüfung durch Ratepay</a> einverstanden.','Yellow'=>'Gelb','Yes'=>'Ja','Your order No. {{order}}'=>'Ihre Bestellung Nr. {{order}}','Your refund No. {{order}}'=>'Ihre Rückerstattung No. {{order}}']];
Binary file modified lang/payone-woocommerce-3-de_CH.mo
Binary file not shown.
Loading

0 comments on commit 69a6784

Please sign in to comment.