@solidgate/react-sdk v1.17.0
Solidgate react-sdk
This repository is a React wrapper for the Solidgate Client Software Development Kit (SDK).
It supports rendering payment forms and resign forms, including custom container elements for Google Pay, Apple Pay, or PayPal buttons.
Check our
- Payment guide to understand business value better
- API Reference to find more examples of usage
Structure
Installation
Run the following command in your React project:
npm install --save @solidgate/react-sdk
Usage
Payment form
Render a payment form component in your React project.
import React from 'react'
import ReactDOM from 'react-dom';
import Payment, { SdkMessage, MessageType, ClientSdkInstance} from "@solidgate/react-sdk"
/**
* Configuration, as it described here
* https://docs.solidgate.com/payments/integrate/payment-form/create-your-payment-form/
*/
const merchantData = {
merchant: '<<--YOUR MERCHANT ID-->>',
signature: '<<--YOUR SIGNATURE OF THE REQUEST-->>',
paymentIntent: '<<--YOUR PAYMENT INTENT-->>'
}
const App = () => {
const appleContainerRef = useRef(null)
const googleContainerRef = useRef(null)
const paypalContainerRef = useRef(null)
const handleOnError = (e: SdkMessage[MessageType.Error]) => {}
const handleOnFail = (e: SdkMessage[MessageType.Fail]) => {}
const handleOnMounted = (e: SdkMessage[MessageType.Mounted]) => {}
const handleOrderStatus = (e: SdkMessage[MessageType.OrderStatus]) => {}
const handleOnResize = (e: SdkMessage[MessageType.Resize]) => {}
const handleOnSuccess = (e: SdkMessage[MessageType.Success]) => {}
const handleOnSubmit = (e: SdkMessage[MessageType.Submit]) => {}
const handleOnInteraction = (e: SdkMessage[MessageType.Interaction]) => {}
const handleOnVerify = (e: SdkMessage[MessageType.Verify]) => {}
const handleOnRedirectMessage = (e: SdkMessage[MessageType.Redirect]) => {}
const handleOnCustomStylesAppended = (e: SdkMessage[MessageType.CustomStylesAppended]) => {}
const handleCard = (e: SdkMessage[MessageType.Card]) => {}
const handleOnReadyPaymentInstance = (form: ClientSdkInstance) => {
// eslint-disable-next-line no-console
console.log('form', form)
}
return (
<div>
<div ref={appleContainerRef} />
<div ref={paypalContainerRef} />
<Payment
googlePayButtonParams={googlePayButtonParams}
applePayButtonParams={applePayButtonParams}
paypalButtonParams={paypalButtonParams}
googlePayContainerRef={googleContainerRef}
applePayContainerRef={appleContainerRef}
paypalContainerRef={paypalContainerRef}
merchantData={merchantData}
styles={customFormStyles}
formParams={formParams}
onError={handleOnError}
onFail={handleOnFail}
onCard={handleCard}
onMounted={handleOnMounted}
onOrderStatus={handleOrderStatus}
onResize={handleOnResize}
onSuccess={handleOnSuccess}
onSubmit={handleOnSubmit}
onInteraction={handleOnInteraction}
onVerify={handleOnVerify}
onFormRedirect={handleOnRedirectMessage}
onCustomStylesAppended={handleOnCustomStylesAppended}
onReadyPaymentInstance={handleOnReadyPaymentInstance}
/>
<div ref={googleContainerRef} />
</div>
)
}
ReactDOM.render(<App />, document.body);
Resign form
Render a resign payment form component in your React project.
const resignRequest = {
merchant: '<<--YOUR MERCHANT ID-->>',
signature: '<<--YOUR SIGNATURE OF THE REQUEST-->>',
resignIntent: '<<--YOUR RESIGN INTENT-->>'
}
function App () {
const handleOnError = (e: SdkMessage[MessageType.Error]) => {}
const handleOnFail = (e: SdkMessage[MessageType.Fail]) => {}
const handleOnMounted = (e: SdkMessage[MessageType.Mounted]) => {}
const handleOrderStatus = (e: SdkMessage[MessageType.OrderStatus]) => {}
const handleOnResize = (e: SdkMessage[MessageType.Resize]) => {}
const handleOnSuccess = (e: SdkMessage[MessageType.Success]) => {}
const handleOnSubmit = (e: SdkMessage[MessageType.Submit]) => {}
const handleOnInteraction = (e: SdkMessage[MessageType.Interaction]) => {}
const handleOnVerify = (e: SdkMessage[MessageType.Verify]) => {}
const handleOnRedirectMessage = (e: SdkMessage[MessageType.Redirect]) => {}
const handleOnCustomStylesAppended = (e: SdkMessage[MessageType.CustomStylesAppended]) => {}
const handleOnReadyResignInstance = (form: ClientSdkInstance) => {
// eslint-disable-next-line no-console
console.log('resign form', form)
}
return (
<Resign
resignRequest={resignRequest}
appearance={appearanceConfig}
styles={customStyles}
onError={handleOnError}
onFail={handleOnFail}
onMounted={handleOnMounted}
onOrderStatus={handleOrderStatus}
onResize={handleOnResize}
onSuccess={handleOnSuccess}
onSubmit={handleOnSubmit}
onInteraction={handleOnInteraction}
onVerify={handleOnVerify}
onFormRedirect={handleOnRedirectMessage}
onCustomStylesAppended={handleOnCustomStylesAppended}
onReadyResignInstance={handleOnReadyResignInstance}
/>
)
}
Development server
cd playground
npm i
npm run start
Navigate
to http://localhost:3000/
Build
Run npm run build
to build the project.
The build artifacts will be stored in the dist/
directory.
3 months ago
4 months ago
6 months ago
7 months ago
2 months ago
2 months ago
2 months ago
9 months ago
10 months ago
12 months ago
12 months ago
12 months ago
10 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago