@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-sdkUsage
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 playgroundnpm inpm run startNavigateto http://localhost:3000/
Build
Run npm run build to build the project.
The build artifacts will be stored in the dist/ directory.
7 months ago
8 months ago
10 months ago
11 months ago
6 months ago
6 months ago
6 months ago
1 year ago
1 year ago
1 year ago
1 year 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
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago