Releases: saleor/saleor-app-payment-authorize.net
v0.4.3
v0.4.2
Patch Changes
- 8e65ded: Make sure user is logged in when fetching their customer profile from Authorize.net
- 4b26f36: Fixed the bug with Authorize.net returning errors when the line item name is longer than the db field restrictions. The app will now slice the name.
- 02b7b58: Fixed the bug with the app not throwing an error when neither
VERCEL_URLnorAPP_API_BASE_URLwas provided. - 02b7b58: The app will now show a warn log that provides more context about possible reasons for the
TransactionEventReportMutationError. It should help debug the root cause of the error. - 0f36810: Remove = char from serialization of IDs
v0.4.1
v0.4.0
Minor Changes
- 36882c9: Added the implementation of
PAYMENT_GATEWAY_INITIALIZE_SESSIONwebhook which returns all the implemented payment methods with data needed to render them. Then, the transaction must be created withTRANSACTION_INITIALIZE_SESSION. The process requires an extra step for Accept Hosted payment method. To render the payment form, you must first call theTRANSACTION_INITIALIZE_SESSION, which returns resultAUTHORIZATION_ACTION_REQUIREDwithdataneeded to render the Accept Hosted form. Then,TRANSACTION_PROCESS_SESSIONmust be called.
Patch Changes
v0.2.0
Minor Changes
-
d60a0b2: Added support for the
TRANSACTION_CANCELATION_REQUESTEDwebhook that voids the transaction in Authorize.Added support for the
TRANSACTION_REFUND_REQUESTEDwebhook that refunds the transaction in Authorize.The app now also saves the Authorize transaction id in the transaction metadata.
The frontend
exampleallows you to complete the checkout and turn it into an order. -
3152374: Added app configuration. It is specified in
AppConfigthat consists ofchannelsandproviders. The entire application state is managed inAppConfiguratorclass. -
b2a5677: Changed the Authorize.net flow to use Accept Hosted payment form. The process is now the following:
-
Send
TransactionInitializeMutationfrom theexamplefrontend to initialize the transaction. -
The app responds to it in the
transaction_initialize_sessionwebhook handler. The handler does the following:- Looks for stored user payment methods (
customerProfileId). - If
customerProfileIdis found, it is passed to the transaction used ingetHostedPaymentPageRequest. This call returns theformTokenneeded to render the Accept Hosted payment form. - Retrieves the
environment(sandbox or production) from the app config. - Returns the
formTokenandenvironmentto theexamplefrontend in thedatafield.
- Looks for stored user payment methods (
-
Render the Accept Hosted form in the
examplefrontend using theformTokenandenvironmentobtained in step 2. -
The Authorize transaction is created in the Accept Hosted payment form. The
examplefrontend listens to the callbackonTransactionResponse. When it arrives, it means the transaction was created. -
Send
TransactionProcessMutationfrom theexamplefrontend to process the transaction. PasstransactionIdin thedatafield. -
The app responds to it in the
transaction_process_paymentwebhook handler. The handler does the following:- Retrieves the
transactionIdfrom thedatafield. - Calls
getTransactionDetailsRequestwith thetransactionIdandenvironmentto get the transaction details. - The handler maps the state of the authorize transaction to a Saleor transaction result.
- Retrieves the
-
Based on the status of the transaction, the
examplefrontend renders the appropriate message to the user.
-
-
3152374: The app now gets its config from either the metadata or environment variables. The latter is suggested for local development, if you don't want to recreate the providers when reinstalling the app.
-
bedc9d3: Added support for reading the full
AppConfigfrom.env, not just the provider configuration. In order to initialize the app with env config, you must now provideAUTHORIZE_SALEOR_CHANNEL_SLUGenvironment variable with the slug of the channel.
v0.1.0
Minor Changes
- 23f24e2: Added basic scaffolding for Authorize.net payment app. Implemented two dummy webhook handlers:
payment-gateway-initialize-sessionandtransaction-initialize-session. Both return mocked values. Created dummy front-end checkout app under the "/example" directory. It triggers thetransaction-initialize-sessionand completes the checkout after the transaction. - 9e26ef1: The app now creates a transaction in Authorize.net on
TRANSACTION_INITIALIZE_SESSIONwebhook call. Thedatapayload object is expected to contain theopaqueData:dataDescriptoranddataValue. The Authorize.netpaymentobject is then built based on theopaqueData. This means the webhook handler can be unaware of the chosen payment method. - 3c8f656: Implement the
payment-gateway-initialize-sessionlogic. It now returns the data needed to start communication with Authorize.net on in the checkout UI. - da0eada: Modified the UI flow in the
exampleapp. It now consists of: product page, cart page, pay page, and success page. The pay page contains a credit card form. The credit card data is sent straight to Authorize.net.