> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # AuthorizeChargeWithSavedPaymentMethod # Package: orders # Namespace: OrderBillingService # Method link: https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/order-billing/authorize-charge-with-saved-payment-method.md ## Permission Scopes: Manage Orders: SCOPE.DC-STORES.MANAGE-ORDERS ## Introduction Authorizes a payment using an order's previously saved payment method. Creates an authorization hold on the customer's payment method for the specified amount. The authorization reserves funds but does not charge the customer until captured. Use `delayedCaptureSettings` to configure automatic behavior: - `CAPTURE`: Automatically charge the customer after the specified delay - `VOID`: Automatically release the hold after the specified delay Alternatively, manually control the authorization using Capture Authorized Payments or Void Authorized Payments. *Note**: The order must have a saved payment method. Check for `savedPaymentMethod: true` in the order's payment details. --- ## REST API ### Schema ``` Method: authorizeChargeWithSavedPaymentMethod Description: Authorizes a payment using an order's previously saved payment method. Creates an authorization hold on the customer's payment method for the specified amount. The authorization reserves funds but does not charge the customer until captured. Use `delayedCaptureSettings` to configure automatic behavior: - `CAPTURE`: Automatically charge the customer after the specified delay - `VOID`: Automatically release the hold after the specified delay Alternatively, manually control the authorization using Capture Authorized Payments or Void Authorized Payments. *Note**: The order must have a saved payment method. Check for `savedPaymentMethod: true` in the order's payment details. URL: https://www.wixapis.com/ecom/v1/order-billing/authorize-charge-with-saved-payment-method Method: POST # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: orderId, amount, amount.amount, currency, delayedCaptureSettings, delayedCaptureSettings.scheduledAction Method parameters: param name: amount | type: Price | required: true - name: amount | type: string | description: Amount. | required: true param name: currency | type: currency | description: Currency code, in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format. | required: true param name: delayedCaptureSettings | type: DelayedCaptureSettings | required: true - name: scheduledAction | type: ScheduledAction | description: Automatic action to perform on the authorization after the specified delay period. | required: true - enum: - VOID: Automatically **void** the authorization after the delay period. Use this when you want to automatically release the hold if payment isn't captured. - CAPTURE: Automatically **capture** (charge) the authorization after the delay period. Use this for delayed billing or when you want to ensure payment is collected after fulfillment. - name: delayDuration | type: Duration | description: Time to wait before performing the scheduled action. If not specified, the payment provider's default period will be used. - name: count | type: integer | description: Amount of units. For example, 30 MINUTES, 1 HOURS, 7 DAYS, etc - name: unit | type: DurationUnit | description: Duration unit: MINUTES, HOURS and DAYS - enum: MINUTES, HOURS, DAYS param name: orderId | type: orderId | description: Order GUID. The order must have a saved payment method associated with it. Verify a saved payment method exists by calling List Transactions For Single Order and checking for `regularPaymentDetails.savedPaymentMethod: true` in the order's payment details before calling this method. | required: true Return type: AuthorizeChargeWithSavedPaymentMethodResponse - name: payment | type: Payment | description: Created payment authorization with `AUTHORIZED` status. - ONE-OF: - name: regularPaymentDetails | type: RegularPaymentDetails | description: Regular payment details. - ONE-OF: - name: creditCardDetails | type: CreditCardPaymentMethodDetails | description: Credit card details. - name: lastFourDigits | type: string | description: The last 4 digits of the card number. - name: brand | type: string | description: Card issuer's brand. - name: paymentOrderId | type: string | description: Wix Payments order GUID. - name: gatewayTransactionId | type: string | description: Payment gateway's transaction GUID. This field is only returned when the value of `offline_payment` is `false`. - name: providerTransactionId | type: string | description: Transaction GUID in the payment provider's system. For example, at PayPal, Square, Stripe, etc. Not returned for offline payments. - name: offlinePayment | type: boolean | description: Whether the payment was made offline. For example, when using cash or when marked as paid in the Business Manager. - name: status | type: TransactionStatus | description: Payment status. - enum: UNDEFINED, APPROVED, PENDING, PENDING_MERCHANT, CANCELED, DECLINED, REFUNDED, PARTIALLY_REFUNDED, AUTHORIZED, VOIDED - name: savedPaymentMethod | type: boolean | description: Whether there is a payment agreement that allows for future charges. - name: authorizationDetails | type: AuthorizationDetails | description: Authorization details. - name: delayedCapture | type: boolean | description: Whether the authorized payment is of a delayed capture. - name: authorizedDate | type: string | description: Date and time the payment was authorized in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. - name: captures | type: array | description: List of captures associated with payment In case of failed it can be replaced with new one with PENDING or SUCCESS statuses - name: id | type: string | description: Capture GUID. - name: status | type: AuthorizationCaptureStatus | description: Status of this capture action - enum: - PENDING: Capture operation still in progress. - SUCCEEDED: Capture operation succeeded. - FAILED: Capture operation failed. - name: amount | type: Price | description: Amount of this capture - name: amount | type: string | description: Amount. - name: formattedAmount | type: string | description: Amount formatted with currency symbol. - name: createdDate | type: string | description: Date and time the capture was initiated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. - name: failureDetails | type: AuthorizationActionFailureDetails | description: In case of status is FAILED may contain failure details - name: failureCode | type: string | description: - name: void | type: AuthorizationVoid | description: Void associated with payment - name: status | type: AuthorizationVoidStatus | description: Status of this void action - enum: - PENDING: Void operation still in progress. - SUCCEEDED: Void operation succeeded. - FAILED: Void operation failed. - name: voidedDate | type: string | description: Date and time the void was initiated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. - name: failureDetails | type: AuthorizationActionFailureDetails | description: In case of status is FAILED may contain failure details - name: reason | type: Reason | description: Reason of void action - enum: - MANUAL: Authorization was voided by user. - SCHEDULED: Authorization passed execution date. - name: scheduledAction | type: ScheduledAction | description: Scheduled action for this transaction - name: actionType | type: ActionType | description: Type of the action. - enum: VOID, CAPTURE - name: executionDate | type: string | description: The date and time of the action. - name: chargebacks | type: array | description: Record of chargebacks made by the buyer. - name: id | type: string | description: Chargeback GUID. - name: createdDate | type: string | description: Date and time the chargeback was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. Defaults to current time when not provided. - name: updatedDate | type: string | description: Date and time the chargeback was updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. Defaults to current time when not provided. - name: amount | type: Price | description: Amount. - name: reversalAmount | type: Price | description: Reversal amount. Present only when status is REVERSED. - name: status | type: ChargebackStatus | description: Status. Default: `"APPROVED"`. - enum: - APPROVED: Chargeback was approved. - REVERSED: Chargeback was reversed. - name: externalId | type: string | description: External chargeback GUID. - name: platformFee | type: Price | description: Platform fee amount associated with this payment. - name: paymentMethodName | type: PaymentMethodName | description: Payment method with buyer and optional owner translations. Non-exhaustive list of supported values: + `CreditCard`, `Alipay`, `AstropayCash`, `AstropayDBT`, `AstropayMBT`, `Bitcoin`, `BitPay`, `Cash`, `ConvenienceStore`, `EPay`, `Fake`, `Giropay`, `IDeal`, `InPerson`, `Klarna`, `MercadoPago`, `Netpay`, `NordeaSolo`, `Offline`, `PagSeguro`, `PayEasy`, `PayPal`, `Paysafecard`, `Paysafecash`, `PointOfSale`, `Poli`, `Privat24`, `Przelewy24`, `RapidTransfer`, `Sepa`, `Skrill`, `Sofort`, `Trustly`, `Neteller`, `Unionpay`, `UniPay`, `Yandex` - name: buyerLanguageName | type: string | description: Translated payment method name in buyer language. - name: siteLanguageName | type: string | description: Translated payment method name in site owner language. - name: userDefinedName | type: UserDefinedPaymentMethodName | description: User-provided payment method name. When set, takes precedence over `buyerLanguageName` and `siteLanguageName`. - ONE-OF: - name: predefined | type: PredefinedPaymentMethod | description: Predefined payment method. - enum: - CASH: Cash payment. - BANK_TRANSFER: Bank transfer. - CHECK: Payment by check. - name: custom | type: string | description: Custom payment method name provided by user. For example, `"Wire transfer"`, `"Money order"`, `"Venmo"` or any other custom name. - name: giftcardPaymentDetails | type: GiftCardPaymentDetails | description: Gift card payment details. - name: giftCardPaymentId | type: string | description: Gift card payment GUID. - name: appId | type: string | description: GUID of the app that created the gift card. - name: voided | type: boolean | description: Whether the gift card is voided. - name: id | type: string | description: Payment GUID. - name: createdDate | type: string | description: Date and time the payment was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. Defaults to current time when not provided. - name: updatedDate | type: string | description: Date and time the payment was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. - name: amount | type: Price | description: Payment amount. - name: refundDisabled | type: boolean | description: Whether refunds for this payment are disabled. + `true`: This payment is not refundable. + `false`: This payment may be refunded. However, this ultimately depends on the payment provider. - name: orderTransactions | type: OrderTransactions | description: Updated order transaction history including the new authorization. - name: orderId | type: string | description: Order GUID. - name: payments | type: array | description: Record of payments made to the merchant. - name: refunds | type: array | description: Record of refunds made to the buyer. - name: id | type: string | description: Refund GUID. - name: transactions | type: array | description: List of transactions. - name: paymentId | type: string | description: GUID of the payment associated with this refund. - name: amount | type: Price | description: Refund amount. - name: refundStatus | type: RefundStatus | description: Refund status. - enum: - PENDING: Refund was initiated on payment provider side. PENDING status was assigned by provider. - SUCCEEDED: Refund transaction succeeded. - FAILED: Refund transaction failed. - SCHEDULED: Refund request acknowledged, and will be executed soon. - STARTED: Refund was initiated on payment provider side. - name: refundStatusInfo | type: RefundStatusInfo | description: Optional details of current refund status. - name: paymentGatewayReasonCode | type: string | description: Reason code for the refund's current status. Learn more about [reason codes](https://dev.wix.com/docs/rest/business-management/payments/service-plugins/payment-service-provider-service-plugin/reason-codes.md). - name: description | type: string | description: Free text explanation of current refund status. - name: gatewayRefundId | type: string | description: Payment gateway's refund GUID. This field is only returned when the value of `external_refund` is `false`. - name: providerRefundId | type: string | description: GUID of the refund in the payment provider's system. For example, at PayPal, Square, Stripe, etc. Not returned for external refunds. - name: externalRefund | type: boolean | description: Whether refund was made externally and manually on the payment provider's side. - name: details | type: RefundDetails | description: Refund business details. - name: items | type: array | description: Order line item GUIDs and quantities that were refunded. - name: lineItemId | type: string | description: Line item GUID the refunded line item. - name: quantity | type: integer | description: Line item quantity refunded. - name: shippingIncluded | type: boolean | description: Whether the shipping fee was also refunded. - name: reason | type: string | description: Reason for the refund, provided by customer (optional). - name: lineItems | type: array | description: Line items that were refunded. - name: lineItemId | type: string | description: Line item GUID. - name: quantity | type: integer | description: Refund quantity. - name: additionalFees | type: array | description: Additional fees that were refunded. - name: additionalFeeId | type: string | description: Additional fee GUID. - name: amount | type: Price | description: Refund amount. - name: shipping | type: ShippingRefund | description: Shipping amount that was refunded. - name: amount | type: Price | description: Refund amount. - name: createdDate | type: string | description: Date and time the refund was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. Defaults to current time when not provided. - name: summary | type: AggregatedRefundSummary | description: Aggregated refund summary. - name: requestedRefund | type: Price | description: Total amount requested for refund. - name: pendingRefund | type: Price | description: Pending refund amount - the portion of `requestedRefund` that is still pending. - name: refunded | type: Price | description: Refunded amount - the portion of `requestedRefund` that refunded successfully. - name: failedRefundAmount | type: Price | description: Failed refund amount - the portion of `requestedRefund` that failed. - name: pending | type: boolean | description: Whether at least one refund transaction is still in `"PENDING"` status. - name: breakdown | type: RefundItemsBreakdown | description: Breakdown of refunded items. Available only after refund is complete. - name: lineItems | type: array | description: Refunded line items and the amount refunded for each. - name: lineItemId | type: string | description: GUID of the refunded line item. - name: totalRefundedAmount | type: Price | description: Total refunded amount for the line item. - name: requestingServiceAppId | type: string | description: GUID of the app that initiated this refund. Possible Errors: HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: INVALID_CURRENCY | Description: Currency doesn't match the saved payment method's currency. HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: INVALID_AMOUNT | Description: Authorization amount is invalid. HTTP Code: 404 | Status Code: NOT_FOUND | Application Code: ORDER_NOT_FOUND | Description: Couldn't find the order. HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: ORDER_HAS_CHARGEBACKS | Description: Order has chargebacks and can't be charged. HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: NO_SAVED_PAYMENT_METHOD | Description: Order doesn't have a saved payment method. HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: ORDER_PAID | Description: Order was already paid. HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: ORDER_CANCELED | Description: Order was already canceled. ``` ### Examples ### Authorize Charge With Saved Payment Method ```curl curl -X POST \ 'https://www.wixapis.com/ecom/v1/order-billing/authorize-charge-with-saved-payment-method' \ -H 'Content-Type: application/json' \ -H 'Authorization: ' \ -d '{ "orderId": "3545c2f2-7768-4e6e-b64b-dcc11dc7a7f9", "amount": { "amount": "1" }, "currency": "USD", "delayedCaptureSettings": { "scheduledAction": "VOID", "delayDuration": { "count": 1, "unit": "DAYS" } } }' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.orders.OrderBillingService.authorizeChargeWithSavedPaymentMethod(orderId, options) Description: Authorizes a payment using an order's previously saved payment method. Creates an authorization hold on the customer's payment method for the specified amount. The authorization reserves funds but does not charge the customer until captured. Use `delayedCaptureSettings` to configure automatic behavior: - `CAPTURE`: Automatically charge the customer after the specified delay - `VOID`: Automatically release the hold after the specified delay Alternatively, manually control the authorization using Capture Authorized Payments or Void Authorized Payments. *Note**: The order must have a saved payment method. Check for `savedPaymentMethod: true` in the order's payment details. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: orderId, options.amount, options.amount.amount, options.currency, options.delayedCaptureSettings, options.delayedCaptureSettings.scheduledAction, options Method parameters: param name: options | type: AuthorizeChargeWithSavedPaymentMethodOptions none | required: true - name: amount | type: Price | description: Amount to authorize on the customer's saved payment method. This creates a hold for this amount but doesn't charge the customer until captured. | required: true - name: amount | type: string | description: Amount. | required: true - name: currency | type: string | description: Currency code, in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format. | required: true - name: delayedCaptureSettings | type: DelayedCaptureSettings | description: Automatic action settings for the authorization. Configure whether to automatically capture or void the authorization after a delay. | required: true - name: scheduledAction | type: ScheduledAction | description: Automatic action to perform on the authorization after the specified delay period. | required: true - enum: - VOID: Automatically **void** the authorization after the delay period. Use this when you want to automatically release the hold if payment isn't captured. - CAPTURE: Automatically **capture** (charge) the authorization after the delay period. Use this for delayed billing or when you want to ensure payment is collected after fulfillment. - name: delayDuration | type: Duration | description: Time to wait before performing the scheduled action. If not specified, the payment provider's default period will be used. - name: count | type: integer | description: Amount of units. For example, 30 MINUTES, 1 HOURS, 7 DAYS, etc - name: unit | type: DurationUnit | description: Duration unit: MINUTES, HOURS and DAYS - enum: MINUTES, HOURS, DAYS param name: orderId | type: string | description: Order GUID. The order must have a saved payment method associated with it. Verify a saved payment method exists by calling List Transactions For Single Order and checking for `regularPaymentDetails.savedPaymentMethod: true` in the order's payment details before calling this method. | required: true Return type: PROMISE - name: payment | type: Payment | description: Created payment authorization with `AUTHORIZED` status. - ONE-OF: - name: regularPaymentDetails | type: RegularPaymentDetails | description: Regular payment details. - ONE-OF: - name: creditCardDetails | type: CreditCardPaymentMethodDetails | description: Credit card details. - name: lastFourDigits | type: string | description: The last 4 digits of the card number. - name: brand | type: string | description: Card issuer's brand. - name: paymentOrderId | type: string | description: Wix Payments order GUID. - name: gatewayTransactionId | type: string | description: Payment gateway's transaction GUID. This field is only returned when the value of `offline_payment` is `false`. - name: providerTransactionId | type: string | description: Transaction GUID in the payment provider's system. For example, at PayPal, Square, Stripe, etc. Not returned for offline payments. - name: offlinePayment | type: boolean | description: Whether the payment was made offline. For example, when using cash or when marked as paid in the Business Manager. - name: status | type: TransactionStatus | description: Payment status. - enum: UNDEFINED, APPROVED, PENDING, PENDING_MERCHANT, CANCELED, DECLINED, REFUNDED, PARTIALLY_REFUNDED, AUTHORIZED, VOIDED - name: savedPaymentMethod | type: boolean | description: Whether there is a payment agreement that allows for future charges. - name: authorizationDetails | type: AuthorizationDetails | description: Authorization details. - name: delayedCapture | type: boolean | description: Whether the authorized payment is of a delayed capture. - name: authorizedDate | type: Date | description: Date and time the payment was authorized in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. - name: captures | type: array | description: List of captures associated with payment In case of failed it can be replaced with new one with PENDING or SUCCESS statuses - name: _id | type: string | description: Capture GUID. - name: status | type: AuthorizationCaptureStatus | description: Status of this capture action - enum: - PENDING: Capture operation still in progress. - SUCCEEDED: Capture operation succeeded. - FAILED: Capture operation failed. - name: amount | type: Price | description: Amount of this capture - name: amount | type: string | description: Amount. - name: formattedAmount | type: string | description: Amount formatted with currency symbol. - name: _createdDate | type: Date | description: Date and time the capture was initiated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. - name: failureDetails | type: AuthorizationActionFailureDetails | description: In case of status is FAILED may contain failure details - name: failureCode | type: string | description: - name: void | type: AuthorizationVoid | description: Void associated with payment - name: status | type: AuthorizationVoidStatus | description: Status of this void action - enum: - PENDING: Void operation still in progress. - SUCCEEDED: Void operation succeeded. - FAILED: Void operation failed. - name: voidedDate | type: Date | description: Date and time the void was initiated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. - name: failureDetails | type: AuthorizationActionFailureDetails | description: In case of status is FAILED may contain failure details - name: reason | type: Reason | description: Reason of void action - enum: - MANUAL: Authorization was voided by user. - SCHEDULED: Authorization passed execution date. - name: scheduledAction | type: ScheduledAction | description: Scheduled action for this transaction - name: actionType | type: ActionType | description: Type of the action. - enum: VOID, CAPTURE - name: executionDate | type: Date | description: The date and time of the action. - name: chargebacks | type: array | description: Record of chargebacks made by the buyer. - name: _id | type: string | description: Chargeback GUID. - name: _createdDate | type: Date | description: Date and time the chargeback was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. Defaults to current time when not provided. - name: _updatedDate | type: Date | description: Date and time the chargeback was updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. Defaults to current time when not provided. - name: amount | type: Price | description: Amount. - name: reversalAmount | type: Price | description: Reversal amount. Present only when status is REVERSED. - name: status | type: ChargebackStatus | description: Status. Default: `"APPROVED"`. - enum: - APPROVED: Chargeback was approved. - REVERSED: Chargeback was reversed. - name: externalId | type: string | description: External chargeback GUID. - name: platformFee | type: Price | description: Platform fee amount associated with this payment. - name: paymentMethodName | type: PaymentMethodName | description: Payment method with buyer and optional owner translations. Non-exhaustive list of supported values: + `CreditCard`, `Alipay`, `AstropayCash`, `AstropayDBT`, `AstropayMBT`, `Bitcoin`, `BitPay`, `Cash`, `ConvenienceStore`, `EPay`, `Fake`, `Giropay`, `IDeal`, `InPerson`, `Klarna`, `MercadoPago`, `Netpay`, `NordeaSolo`, `Offline`, `PagSeguro`, `PayEasy`, `PayPal`, `Paysafecard`, `Paysafecash`, `PointOfSale`, `Poli`, `Privat24`, `Przelewy24`, `RapidTransfer`, `Sepa`, `Skrill`, `Sofort`, `Trustly`, `Neteller`, `Unionpay`, `UniPay`, `Yandex` - name: buyerLanguageName | type: string | description: Translated payment method name in buyer language. - name: siteLanguageName | type: string | description: Translated payment method name in site owner language. - name: userDefinedName | type: UserDefinedPaymentMethodName | description: User-provided payment method name. When set, takes precedence over `buyerLanguageName` and `siteLanguageName`. - ONE-OF: - name: predefined | type: PredefinedPaymentMethod | description: Predefined payment method. - enum: - CASH: Cash payment. - BANK_TRANSFER: Bank transfer. - CHECK: Payment by check. - name: custom | type: string | description: Custom payment method name provided by user. For example, `"Wire transfer"`, `"Money order"`, `"Venmo"` or any other custom name. - name: giftcardPaymentDetails | type: GiftCardPaymentDetails | description: Gift card payment details. - name: giftCardPaymentId | type: string | description: Gift card payment GUID. - name: appId | type: string | description: GUID of the app that created the gift card. - name: voided | type: boolean | description: Whether the gift card is voided. - name: _id | type: string | description: Payment GUID. - name: _createdDate | type: Date | description: Date and time the payment was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. Defaults to current time when not provided. - name: _updatedDate | type: Date | description: Date and time the payment was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. - name: amount | type: Price | description: Payment amount. - name: refundDisabled | type: boolean | description: Whether refunds for this payment are disabled. + `true`: This payment is not refundable. + `false`: This payment may be refunded. However, this ultimately depends on the payment provider. - name: orderTransactions | type: OrderTransactions | description: Updated order transaction history including the new authorization. - name: orderId | type: string | description: Order GUID. - name: payments | type: array | description: Record of payments made to the merchant. - name: refunds | type: array | description: Record of refunds made to the buyer. - name: _id | type: string | description: Refund GUID. - name: transactions | type: array | description: List of transactions. - name: paymentId | type: string | description: GUID of the payment associated with this refund. - name: amount | type: Price | description: Refund amount. - name: refundStatus | type: RefundStatus | description: Refund status. - enum: - PENDING: Refund was initiated on payment provider side. PENDING status was assigned by provider. - SUCCEEDED: Refund transaction succeeded. - FAILED: Refund transaction failed. - SCHEDULED: Refund request acknowledged, and will be executed soon. - STARTED: Refund was initiated on payment provider side. - name: refundStatusInfo | type: RefundStatusInfo | description: Optional details of current refund status. - name: paymentGatewayReasonCode | type: string | description: Reason code for the refund's current status. Learn more about [reason codes](https://dev.wix.com/docs/rest/business-management/payments/service-plugins/payment-service-provider-service-plugin/reason-codes.md). - name: description | type: string | description: Free text explanation of current refund status. - name: gatewayRefundId | type: string | description: Payment gateway's refund GUID. This field is only returned when the value of `external_refund` is `false`. - name: providerRefundId | type: string | description: GUID of the refund in the payment provider's system. For example, at PayPal, Square, Stripe, etc. Not returned for external refunds. - name: externalRefund | type: boolean | description: Whether refund was made externally and manually on the payment provider's side. - name: details | type: RefundDetails | description: Refund business details. - name: items | type: array | description: Order line item GUIDs and quantities that were refunded. - name: lineItemId | type: string | description: Line item GUID the refunded line item. - name: quantity | type: integer | description: Line item quantity refunded. - name: shippingIncluded | type: boolean | description: Whether the shipping fee was also refunded. - name: reason | type: string | description: Reason for the refund, provided by customer (optional). - name: lineItems | type: array | description: Line items that were refunded. - name: lineItemId | type: string | description: Line item GUID. - name: quantity | type: integer | description: Refund quantity. - name: additionalFees | type: array | description: Additional fees that were refunded. - name: additionalFeeId | type: string | description: Additional fee GUID. - name: amount | type: Price | description: Refund amount. - name: shipping | type: ShippingRefund | description: Shipping amount that was refunded. - name: amount | type: Price | description: Refund amount. - name: _createdDate | type: Date | description: Date and time the refund was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. Defaults to current time when not provided. - name: summary | type: AggregatedRefundSummary | description: Aggregated refund summary. - name: requestedRefund | type: Price | description: Total amount requested for refund. - name: pendingRefund | type: Price | description: Pending refund amount - the portion of `requestedRefund` that is still pending. - name: refunded | type: Price | description: Refunded amount - the portion of `requestedRefund` that refunded successfully. - name: failedRefundAmount | type: Price | description: Failed refund amount - the portion of `requestedRefund` that failed. - name: pending | type: boolean | description: Whether at least one refund transaction is still in `"PENDING"` status. - name: breakdown | type: RefundItemsBreakdown | description: Breakdown of refunded items. Available only after refund is complete. - name: lineItems | type: array | description: Refunded line items and the amount refunded for each. - name: lineItemId | type: string | description: GUID of the refunded line item. - name: totalRefundedAmount | type: Price | description: Total refunded amount for the line item. - name: requestingServiceAppId | type: string | description: GUID of the app that initiated this refund. Possible Errors: HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: INVALID_CURRENCY | Description: Currency doesn't match the saved payment method's currency. HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: INVALID_AMOUNT | Description: Authorization amount is invalid. HTTP Code: 404 | Status Code: NOT_FOUND | Application Code: ORDER_NOT_FOUND | Description: Couldn't find the order. HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: ORDER_HAS_CHARGEBACKS | Description: Order has chargebacks and can't be charged. HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: NO_SAVED_PAYMENT_METHOD | Description: Order doesn't have a saved payment method. HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: ORDER_PAID | Description: Order was already paid. HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: ORDER_CANCELED | Description: Order was already canceled. ``` ### Examples ### authorizeChargeWithSavedPaymentMethod ```javascript import { orderBilling } from '@wix/ecom'; async function authorizeChargeWithSavedPaymentMethod(orderId,options) { const response = await orderBilling.authorizeChargeWithSavedPaymentMethod(orderId,options); }; ``` ### authorizeChargeWithSavedPaymentMethod (with elevated permissions) ```javascript import { orderBilling } from '@wix/ecom'; import { auth } from '@wix/essentials'; async function myAuthorizeChargeWithSavedPaymentMethodMethod(orderId,options) { const elevatedAuthorizeChargeWithSavedPaymentMethod = auth.elevate(orderBilling.authorizeChargeWithSavedPaymentMethod); const response = await elevatedAuthorizeChargeWithSavedPaymentMethod(orderId,options); } ``` ### authorizeChargeWithSavedPaymentMethod (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { orderBilling } from '@wix/ecom'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { orderBilling }, // Include the auth strategy and host as relevant }); async function authorizeChargeWithSavedPaymentMethod(orderId,options) { const response = await myWixClient.orderBilling.authorizeChargeWithSavedPaymentMethod(orderId,options); }; ``` ---