| 1 |
<?php |
| 2 |
|
| 3 |
namespace BitCode\BitForm\Admin\Form\InitJs; |
| 4 |
|
| 5 |
class Paypal |
| 6 |
{ |
| 7 |
public static function init() |
| 8 |
{ |
| 9 |
return <<<PAYPAL_INIT_JS |
| 10 |
const paypalUrlParams = {'client-id': fldData.clientId}; |
| 11 |
if('locale' in fldData){ |
| 12 |
paypalUrlParams.locale = fldData.locale; |
| 13 |
} |
| 14 |
if('disableFunding' in fldData && fldData.disableFunding.length){ |
| 15 |
paypalUrlParams['disable-funding'] = fldData.disableFunding; |
| 16 |
} |
| 17 |
if(fldData?.payType === 'subscription'){ |
| 18 |
paypalUrlParams.vault = 'true'; |
| 19 |
paypalUrlParams.intent = 'subscription'; |
| 20 |
} else if('currency' in fldData){ |
| 21 |
paypalUrlParams.currency = fldData.currency; |
| 22 |
} |
| 23 |
|
| 24 |
const paypalUrl = 'https://www.paypal.com/sdk/js?' + Object.entries(paypalUrlParams).map(([key, val]) => key+'='+val).join('&'); |
| 25 |
const attrs = {'data-namespace': 'bit-paypal-'+ contentId}; |
| 26 |
const id = 'bit_paypal_script-' + contentId; |
| 27 |
const initFunc = function(){ |
| 28 |
bf_globals[contentId].inits[fldKey] = getFldInstance(contentId, fldKey, fldType) |
| 29 |
}; |
| 30 |
|
| 31 |
scriptLoader(paypalUrl, '', attrs, id, initFunc); |
| 32 |
PAYPAL_INIT_JS; |
| 33 |
} |
| 34 |
} |
| 35 |
|