def METHOD_NAME(promo_code_id: Optional[str]):
    if promo_code_id is None:
        return None, None
    try:
        object_type, promo_code_pk = from_global_id_or_error(
            promo_code_id, raise_error=True
        )
    except GraphQLError as e:
        raise ValidationError(
            {
                "promo_code_id": ValidationError(
                    str(e), code=CheckoutErrorCode.GRAPHQL_ERROR.value
                )
            }
        )
    if object_type not in (str(Voucher), str(GiftCard)):
        raise ValidationError(
            {
                "promo_code_id": ValidationError(
                    "Must receive Voucher or GiftCard id.",
                    code=CheckoutErrorCode.NOT_FOUND.value,
                )
            }
        )
    return object_type, promo_code_pk