Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions content/billing/get-started/how-billing-works.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,14 @@ For credit card and PayPal payments, the billing date is the day you started a p

Most users pay for {% data variables.product.github %} using metered billing. The billing cycle for all metered products is a fixed period from the first day to the last day of the month.

### Authorization holds

You may see an authorization hold on your provided payment method upon initiating a subscription or trial. Depending on your bank or card issuer, this may result in the appearance of a transaction or charge.

Authorization holds are temporary and released as quickly as possible. If the authorization hold persists for longer than 10 business days, we suggest reaching out to your bank or card issuer.

If the authorization is unsuccessful, the chosen service will not be activated and the account may be locked. For more more information, see [AUTOTITLE](/billing/how-tos/troubleshooting/locked-account#unlocking-an-accounts-features-due-to-a-failed-authorization-hold).

## How do I see what I'm billed for?

You can see the billing and usage information for your account at anytime in the "Billing and licensing" pages of your account or using the REST API. For more information, see [AUTOTITLE](/billing/how-tos/products/view-product-use).
Expand Down
12 changes: 11 additions & 1 deletion content/billing/how-tos/troubleshooting/locked-account.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,20 @@ You can unlock and access your account by updating your account's payment method

You can downgrade your user account or organization to {% data variables.product.prodname_free_team %} to continue with the same advanced features in public repositories. For more information, see [AUTOTITLE](/billing/managing-the-plan-for-your-github-account/downgrading-your-accounts-plan).

## Unlocking an organization's features due to a declined payment
## Unlocking an account's features due to a declined payment

If your account's advanced features are locked due to a declined payment, you'll need to update your billing information to trigger a newly authorized charge.

{% data reusables.billing.manage-payment-info %}

If the new billing information is approved, we will immediately charge you for the paid product you chose. The account will automatically unlock when a payment has been successfully processed. Payments may take up to 24 hours to process.

## Unlocking an account's features due to a failed authorization hold

When initiating a subscription or trial, we verify the entered payment method using an authorization hold. If the hold is unsuccessful, the chosen subscription or trial will not activate.

If your account's advanced features are locked due to a failed authorization hold, you'll need to update your billing information to trigger a new authorization.

{% data reusables.billing.manage-payment-info %}

If the new authorization is successful, the account will automatically unlock and you will be able to proceed with the chosen subscription.
7 changes: 5 additions & 2 deletions src/journeys/components/JourneyTrackCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,19 @@ import { useRouter } from 'next/router'
import { Link } from '@/frame/components/Link'
import type { JourneyContext } from '@/journeys/lib/journey-path-resolver'
import { useTranslation } from '@/languages/components/useTranslation'
import { useVersion } from '@/versions/components/useVersion'

type Props = {
journey: JourneyContext
}

export function JourneyTrackCard({ journey }: Props) {
const { locale } = useRouter()
const { currentVersion } = useVersion()
const { t } = useTranslation('journey_track_nav')
const { trackTitle, journeyTitle, journeyPath, nextGuide, numberOfGuides, currentGuideIndex } =
journey
const fullPath = `/${locale}/${currentVersion}${journeyPath}?feature=journey-landing`

return (
<div
Expand All @@ -21,7 +24,7 @@ export function JourneyTrackCard({ journey }: Props) {
>
<div className="d-flex flex-column width-full">
<h2 className="h4">
<Link href={`/${locale}${journeyPath}`} className="mb-1 text-underline">
<Link href={fullPath} className="mb-1 text-underline">
{journeyTitle}
</Link>
</h2>
Expand All @@ -41,7 +44,7 @@ export function JourneyTrackCard({ journey }: Props) {
</Link>
</>
) : (
<Link href={`/${locale}${journeyPath}`} className="h5 text-bold color-fg f5 ml-1">
<Link href={fullPath} className="h5 text-bold color-fg f5 ml-1">
{t('more_articles')}
</Link>
)}
Expand Down
4 changes: 3 additions & 1 deletion src/journeys/lib/journey-path-resolver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { getPathWithoutLanguage, getPathWithoutVersion } from '@/frame/lib/path-
import { renderContent } from '@/content-render/index'
import { executeWithFallback } from '@/languages/lib/render-with-fallback'
import getApplicableVersions from '@/versions/lib/get-applicable-versions'
import Permalink from '@/frame/lib/permalink'
import getLinkData from './get-link-data'

export interface JourneyContext {
Expand Down Expand Up @@ -170,7 +171,8 @@ export async function resolveJourneyContext(
trackName: track.id,
trackTitle: track.title,
journeyTitle: journeyPage.title || '',
journeyPath: journeyPage.permalink || `/${journeyPage.relativePath || ''}`,
journeyPath:
journeyPage.permalink || Permalink.relativePathToSuffix(journeyPage.relativePath || ''),
currentGuideIndex: guideIndex,
numberOfGuides: track.guides.length,
}
Expand Down
Loading