Med QuickPay til Gravity Forms Integrationen kan i oprette formularer som kan tage imod betalinger for produkter eller ydelser online gennem QuickPay.
Bemærk af udseende for formularen vil blive identisk med jeres nuværende opsætning og ikke som vist på billederne.
Om Gravity Forms QuickPay plugin
Gravity Forms som i forvejen er et fleksibelt plugin til håndtering af diverse indtastninger kan med Gravity Forms QuickPay plugin udvides til at modtage betalinger gennem QuickPay. Opret variable og komplekse formularer som eksempelvis:
- Tilmeldingsgebyrer
- Produktsalg
- Salg af kurser eller billetter
- Indkrævelse af betaling
- Eller noget helt andet?
Gravity Forms QuickPay plugin’et integrerer fint med andre sprog via plugins som WPML og Polylang.
Dette plugin integrerer desuden direkte ind i jeres nuværende layout for Gravity Forms og formularer i jeres WordPress tema.
Opsætning af plugin
Begynd med at aktivere plugin efter det er aktiveret på jeres WordPress website med det allerede aktiverede Gravity Forms plugin.
Log-ind på din QuickPay.dk konto og opsæt din betalingsløsning (Custom integration), kontroller at følgende url bruges til call-back url “https://ditdomæne.dk/payment-callback/”.
Opret nu en side med slug/url “betaling-godkendt” og indsæt følgende shortcode [gf_quickpay].
Opret herefter en side med slug/url “betaling-afvist” og indtast det budskab i ønsker at vise til en bruger som ikke får gennemført den forsøgte betaling.
Begge sider kan tilpasses senere så de passer bedre til jeres betalingsformularer.
Klik nu på Formularer > indstillinger > QuickPay i WordPress kontrolpanelet for at knytte jeres Quick-Pay konto med Gravity Forms. De enkelte data for denne side findes på jeres QuickPay konto. Kontakt QuickPay hvis i har problemer med at finde disse data.
I WordPress kontrolpanelet skal vi have oprettet en formular som skal bruges til betaling. Hvis i allerede har oprettet en formular til formålet så lad os tage udgangspunkt i denne. Hold musen over indstillinger for den nye/eksisterende formular og vælg QuickPay.
Under QuickPay feedindstillinger skal i først aktivere QuickPay og herefter angive de to slugs/urls fra de to sider vi lige har oprettet.
I feltet for “Betaling gennemført landingsside” indtastes “/betaling-godkendt” (uden “).
I feltet for “Betaling afbrudt landingsside” indtastes “/betaling-afvist” (uden “).
Gem indstillingerne og gå tilbage til redigering af formularen.
Under Prisfelter kan i nu tilføje produkt feltet som kan tilpasse efter jeres ønsker. Husk at der skal være en værdi som er større end 1 for at kunne komme til QuickPay. Gem formularen og i kan nu modtage betaling direkte på websitet.
Det sidste trin består i, at bede WordPress om at generere sine URL’er igen, så vi er sikre på at den nye callback URL er registreret (https://ditdomæne.dk/payment-callback/). Dette gøres ved gå ind under “Indstillinger > Permanente links” og tryk “Gem ændringer”. Dette skulle tvinge WordPress til at lave det man kalder for et “Rewrite flush”.
PSD2: Strong Customer Authentication (SCA)
Da betalingen foregår i det hostede betalingsvindue hos QuickPay, skal du ikke foretage dig nogen ændringer for at dette plugin er kompatibelt.
Plugin krav
- For at anvende Gravity Forms QuickPay integrationen skal i som minimum have version 2.2 af Gravity Forms
- WordPress skal som minimum have version 4.0
- En QuickPay konto (kan oprettes her, hvis i ikke allerede har én)
Support
Support til købte plugins foregår udelukkende via email til support@rommel.dk.
Auto-capture payments
Add this snippet to your functions.php file in the theme you are using on create a plugin and add this to the plugin.
/**
* Adds the auto-capture feature to the Gravity Forms with quick-pay payments.
**/
add_filter( 'gf_qp_pre_submit_formdata', function ( $qpformdata, $confirmation, $form, $entry, $is_ajax ) {
$qpformdata['autocapture'] = 1;
return $qpformdata;
}, 10, 5 );
/**
* Adds the auto-capture feature to a specific form in Gravity Forms with quick-pay payments.
**/
add_filter( 'gf_qp_pre_submit_formdata', function ( $qpformdata, $confirmation, $form, $entry, $is_ajax ) {
// Only run on the form that has id 5.
if ( $form['id'] === 5 ) {
$qpformdata['autocapture'] = 1;
}
return $qpformdata;
}, 10, 5 );
Google Tag Manager Data-layer (Purchases)
/**
* Adds custom datalayer for Google Tag Manager when the reciept is printed.
* This adds the datalayer to the footer by passing the variables from one action to the other via use.
*/
add_action( 'gf_quickpay_reciept_data', function ( $output, $entry, $products, $_order_id ) {
// WordPress footer hook.
add_action( 'wp_footer', function () use ( $output, $entry, $products, $_order_id ) {
if ( isset( $products['products'] ) && is_array( $products['products'] ) ) {
$productsObjects = '';
foreach ( $products['products'] as $key => $product ) {
// Product options.
if ( ! empty( $product['options'] ) ) {
foreach ( $product['options'] as $option ) {
$replace = [ "'", ' ', ':', '-' ];
$replace_width = [ '', '_', '', '' ];
$product_name = ! empty( $option['field_label'] ) ? $option['field_label'] : '';
$product_sku = ! empty( $option['option_label'] ) ? str_replace( $replace, $replace_width, strtolower($option['option_label']) ) : '';
$product_category = ! empty( $option['option_name'] ) ? str_replace( $replace, $replace_width, $option['option_name'] ) : 'Fag';
$product_price = ! empty( $option['price'] ) ? $option['price'] : 0;
$productsObjects .= "{
'sku': '" . $product_sku . "',
'name': '" . $product_name . "',
'category': '" . $product_category . "',
'price': " . $product_price . ",
'quantity': '1'
},";
}
}
}
$transactionTotal = $entry['payment_amount'];
$transactionTax = ! empty( $transactionTotal ) ? $transactionTotal * 0.2 : 0;
?>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'transactionId': '',
'transactionAffiliation': '',
'transactionTotal': ,
'transactionTax': ,
'transactionShipping': ,
'transactionProducts': []
});
<?php
}
}, PHP_INT_MAX, 0 );
return $output;
}, 10, 4 );
3.1.2:
– Ensured compatibility for Gravity Forms version 2.5.0 and above.
3.1.1:
– Fixed potential issue where default confirmation was set to be a redirect but we tried to append a string to an array.
3.1.0:
– Updated settings form descriptions and labels to give a better user experience when finding the right values in QuickPay.
– Added update system to easier get latest updates.
3.0.1:
– “gravityforms_qpform_send_to_quickpay” disables notification logic as well, so the plugin no longer blocks notifications if it is not being used.
3.0.0:
– Added functions to randomize and extract the form entry id to ensure live and test entries don’t hit the same numbers.
2.0.3:
– Added filter ‘gravityforms_qpform_send_to_quickpay’ to make it possible to disable the QuickPay redirect and apply custom logic.
2.0.2:
– Added filter ‘gf_quickpay_reciept_data’ for adding custom events when reciept is show or filter the reciept output.
2.0.1:
– Added filter ‘gf_qp_pre_submit_formdata’ to filter form data before it’s send to quick-pay. Also did a little cleaning in the plugin and added additional inline documentation.